Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance Excel/VBA性能_Performance_Excel_Vba - Fatal编程技术网

Performance Excel/VBA性能

Performance Excel/VBA性能,performance,excel,vba,Performance,Excel,Vba,我有一组范围为0001:E20000的公式,我想把它复制到SF:CZ列,总共1M个单元格。选项: 范围0001:E20000.Copy 范围F10001:CZ20000.PasteSpecial xlPasteAll 范围F10001:CZ20000.formula=Range10001:E20000.formula 范围0001:CZ20000.fillRight 范围0001:CZ20000.Select 在Excel中后跟Ctrl+R 最后,为了使工作表变轻,我将公式替换为值, 范围F10

我有一组范围为0001:E20000的公式,我想把它复制到SF:CZ列,总共1M个单元格。选项:

范围0001:E20000.Copy 范围F10001:CZ20000.PasteSpecial xlPasteAll 范围F10001:CZ20000.formula=Range10001:E20000.formula 范围0001:CZ20000.fillRight 范围0001:CZ20000.Select 在Excel中后跟Ctrl+R 最后,为了使工作表变轻,我将公式替换为值, 范围F10001:CZ20000.Value=范围F10001:CZ20000.Value

我注意到选项4比其他选项快得多。有人能解释前3个选项中的性能损失吗。注意,我不熟悉时间函数,并且使用秒时钟进行物理测量

简短回答:不要在SendKeys方法中使用快捷方式! 较长的回答:快捷方式可能导致意外结果,在我的本地设置中^r将开始插入表。 在代码开始时,可以使用starttime=Now的计时器

timetaken = Now - starttime
MsgBox (Hour(timetaken) & ":" & Minute(timetaken) & ":" & Second(timetaken))
但要衡量性能。 根据经验,您的时间比系统时间更有价值,而且由于意外发送错误的指令集而损坏数据的风险永远不值得。
您使用2×10000个电池的操作不值得优化。

虽然我普遍认为人的时间更重要,但这是我正在构建的巨大可重用解决方案的一部分。不仅是计算,甚至输入和输出的大小都是100colx.2Mrows.:只有在优化设计、算法和实现基本逻辑之后,我才会关注代码性能。