Excel精英培训网

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

[已解决]哪个代码运行速度快

[复制链接]
发表于 2014-5-3 12:14 | 显示全部楼层 |阅读模式
本帖最后由 642070295 于 2014-5-3 12:56 编辑

请教一下各位高手,处理excel数据中大量使用到复制粘贴数据的代码,比如:
sheets(1).range("a1")=98.35%
sheets(1).range("a1").copy sheets(2).range("c16")
sheets(2).range("c16")=format(sheets(1).range("a1"),"0.00%")
上述2条复制数据的代码表达式(红色部分),哪条代码的表达会提高代码的运行速度?

       先谢了!

最佳答案
2014-5-3 12:25
  1. Sub test1()
  2. Dim t1 As Double
  3. Dim t2 As Double
  4. Dim i As Long

  5. t1 = Timer
  6. For i = 1 To 100
  7. Sheets(1).Range("a1").Copy Sheets(2).Range("c16")
  8. Next
  9. t1 = Timer - t1

  10. t2 = Timer
  11. For i = 1 To 100
  12. Sheets(2).Range("c16") = Format(Sheets(1).Range("a1"), "0.00%")
  13. Next
  14. t2 = Timer - t2


  15. MsgBox t2 - t1
  16. End Sub
复制代码
QQ图片20140503122456.jpg
发表于 2014-5-3 12:25 | 显示全部楼层    本楼为最佳答案   
  1. Sub test1()
  2. Dim t1 As Double
  3. Dim t2 As Double
  4. Dim i As Long

  5. t1 = Timer
  6. For i = 1 To 100
  7. Sheets(1).Range("a1").Copy Sheets(2).Range("c16")
  8. Next
  9. t1 = Timer - t1

  10. t2 = Timer
  11. For i = 1 To 100
  12. Sheets(2).Range("c16") = Format(Sheets(1).Range("a1"), "0.00%")
  13. Next
  14. t2 = Timer - t2


  15. MsgBox t2 - t1
  16. End Sub
复制代码
QQ图片20140503122456.jpg
回复

使用道具 举报

发表于 2014-5-3 12:27 | 显示全部楼层
  1. sheets(2).range("c16")=format(sheets(1).range("a1"),"0.00%")
复制代码
这个速度比另一种快很多。原因么,可能说起来就很复杂了。直接用测试结果来看更加直观
20140503122647.jpg
回复

使用道具 举报

 楼主| 发表于 2014-5-3 12:55 | 显示全部楼层
非常感谢2位高手,都是很给力的代码解说!谢谢了!
回复

使用道具 举报

发表于 2014-5-3 12:58 | 显示全部楼层
我也是来学习的~~

点评

灌水!  发表于 2014-5-3 13:51
回复

使用道具 举报

发表于 2014-5-3 13:45 | 显示全部楼层
蓝粆 发表于 2014-5-3 12:58
我也是来学习的~~

蓝妹儿又在灌水

点评

不要污蔑我~我学习呢~~  发表于 2014-5-3 13:48
小心被楼上一口吞了!O(∩_∩)O哈哈~  发表于 2014-5-3 13:47
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 10:24 , Processed in 0.273604 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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