Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1782|回复: 5

[已解决]如何避免不必要的重复计算

[复制链接]
发表于 2016-8-9 20:52 | 显示全部楼层 |阅读模式
本帖最后由 冰是睡觉的水 于 2016-8-10 08:27 编辑

新1建 Microsoft Excel 工作表.rar (9.28 KB, 下载次数: 15)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-8-9 21:08 | 显示全部楼层
  1. Sub kk()
  2. For i = 4 To 65536
  3. If i <> 2500 Then
  4. If Cells(i, 6) <> "" Or Cells(i, 29) <> "" Then
  5. Cells(i, 10) = Cells(i, 9) - Cells(i, 9) * Cells(i, 29) / 100
  6. End If
  7. End If
  8. Next
  9. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-8-9 21:29 | 显示全部楼层
ppp710715 发表于 2016-8-9 21:08

不一定是2500,录入其他位置也是都重新计算一遍。我想录入一个数据就计算一个,不重复计算其他的
回复

使用道具 举报

发表于 2016-8-9 23:41 来自手机 | 显示全部楼层
建议用附件来表达需求,理解意图后才好说。
回复

使用道具 举报

 楼主| 发表于 2016-8-10 08:28 | 显示全部楼层
爱疯 发表于 2016-8-9 23:41
建议用附件来表达需求,理解意图后才好说。

附件已上传
回复

使用道具 举报

发表于 2016-8-10 10:39 | 显示全部楼层    本楼为最佳答案   
冰是睡觉的水 发表于 2016-8-10 08:28
附件已上传

Sub test()
    Dim r%, r1%
    r = Sheet1.[I65536].End(xlUp).Row
    r1 = Sheet1.[j65536].End(xlUp).Row
    For i = r1 To r
        If Cells(i, 6) <> "" Or Cells(i, 29) <> "" Then
           Cells(i, 10) = Cells(i, 9) - Cells(i, 9) * Cells(i, 29) / 100
        End If
    Next
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 08:49 , Processed in 0.538219 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表