繁体   English   中英

Excel / VBA性能

[英]Excel/VBA performance

我在Range(“ E10001:E20000”)中有一组特定的公式,希望将总共1M单元格复制到Columns(“ F:CZ”)中。 选项:

  1. 范围(“ E10001:E20000”)。复制
    范围(“ F10001:CZ20000”)。粘贴特殊xlPasteAll
  2. Range(“ F10001:CZ20000”)。formula = Range(“ E10001:E20000”)。formula
  3. 范围(“ E10001:CZ20000”)。fillRight
  4. 范围(“ E10001:CZ20000”)。选择
    在Excel中按Ctrl + R

最后,为了使表格更轻巧,我将公式替换为Values Range(“ F10001:CZ20000”)。Value = Range(“ F10001:CZ20000”)。Value

我注意到的是,选项4比其他选项快得多。 谁能解释前三个选项中的性能损失。 请注意,我不熟悉时间功能,无法使用秒时钟进行物理测量。

简短答案: 不要将快捷方式与SendKeys方法一起使用!
更长的答案:快捷方式可能会导致意外的结果,在我的本地设置中,“ ^ r”会(开始)插入表格。
在代码的开始处随意使用带有starttime = Now的计时器

timetaken = Now - starttime
MsgBox (Hour(timetaken) & ":" & Minute(timetaken) & ":" & Second(timetaken))

衡量性能。
根据经验,与系统时间相比,您所花费的时间值得多得多,并且由于意外发送错误的指令集而破坏数据的风险绝对不值得。
您对2×10,000单元的操作不值得优化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM