Excel精英培训网

 找回密码
 注册
123
返回列表 发新帖
楼主: wcymiss

[习题] 练习(一)12.11:求和【已开贴】

  [复制链接]
发表于 2011-12-13 14:18 | 显示全部楼层
wcymiss 发表于 2011-12-13 13:53
题目虽小,不过也让我学到很多。
比如,用isempty比用="" 判断,速度上要效率很多。
     直接写三行代码 ...

吴姐,关于“直接写三行代码比用for  j=1 to  3  这个循环速度也较快”,分界点在哪里呢?{:4512:}
还是所有的循环都没有直接写快呢?——不会是用循环的作用只是简化代码吧!{:1812:}
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2011-12-13 14:26 | 显示全部楼层
windimi007 发表于 2011-12-13 14:18
吴姐,关于“直接写三行代码比用for  j=1 to  3  这个循环速度也较快”,分界点在哪里呢?
还是 ...

我觉得是的。我测试了感觉要快些
回复

使用道具 举报

发表于 2011-12-13 14:32 | 显示全部楼层
wcymiss 发表于 2011-12-13 14:26
我觉得是的。我测试了感觉要快些

想想好像有点道理啊!{:3212:}
直接写三行代码运行了3句代码,而用for  j=1 to  3  这个循环实际上是运行了9句代码。{:3912:}
吴姐,这个理由说得过去吧!{:4012:}
回复

使用道具 举报

 楼主| 发表于 2011-12-13 14:35 | 显示全部楼层
  1. Sub cs()
  2. Dim j, i
  3. t = Timer
  4. For j = 1 To 1000000
  5.     For i = 1 To 10
  6.     Next
  7. Next
  8. k = Timer - t
  9. MsgBox k
  10. t = Timer
  11. For j = 1 To 1000000
  12.     i = 1
  13.     i = 2
  14.     i = 3
  15.     i = 4
  16.     i = 5
  17.     i = 6
  18.     i = 7
  19.     i = 8
  20.     i = 9
  21.     i = 10
  22. Next
  23. k = Timer - t
  24. MsgBox k
  25. End Sub
复制代码
试试这个,非循环要快一倍呢
回复

使用道具 举报

发表于 2011-12-13 14:53 | 显示全部楼层
wcymiss 发表于 2011-12-13 14:35
试试这个,非循环要快一倍呢

报告吴姐,单位机器测试结果:
循环:0.9秒多;
非循环:0.3秒多。
以后看样子用循环时要斟酌一下了!{:4212:}
回复

使用道具 举报

发表于 2011-12-13 15:19 | 显示全部楼层
原来非循环还有这样的好处
回复

使用道具 举报

发表于 2011-12-14 10:28 | 显示全部楼层
看来以后要在运行速度与简化代码之间只能取其一,熊和鱼掌不能兼得呀。
回复

使用道具 举报

发表于 2011-12-15 09:01 | 显示全部楼层
windimi007 发表于 2011-12-13 14:53
报告吴姐,单位机器测试结果:
循环:0.9秒多;
非循环:0.3秒多。

好意外的结果啊。
回复

使用道具 举报

发表于 2011-12-15 09:06 | 显示全部楼层
wjc2090742 发表于 2011-12-15 09:01
好意外的结果啊。

小胖版意外的是我的测试结果还是……{:4512:}
没办法,单位机器配置低!{:3712:}
回复

使用道具 举报

发表于 2011-12-21 13:03 | 显示全部楼层
学习啦         
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 12:50 , Processed in 0.264945 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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