有时候我们录制或编写的vba会运行很久的时间,为了让我们能清晰看到修改代码后是否加快了程序运行的速度,加入代码运行时间很有必要。
工具/原料
vba
excel
方法/步骤
1、一下代码使用for循环将1到30000依次写入A1~A30000单元格,执行起来如下图。用了不少时间才写完,但是不知道多久。Sub宏1()DimiAsIntegerFori=1To30000Step1Range("A"&i)=iNextEndSub
2、修改代码,加入时间提醒。再来看看。可以清晰地看到,程序运行了9.1秒。Sub宏1()DimiAsIntegerDimtt=TimerFori=1To30000Step1Range("A"&i)=iNextMsgBox("程序运行了"&Format(Timer-t,"0.00"&"秒"))EndSub
3、为了提高运行速度,我们螅岔出礤在代码上面加入一句,看看能否提高运行速度。可以看到速度略有提升。Sub宏1()Application.ScreenUpdating=FalseDim足毂忍珩iAsIntegerDimtt=TimerFori=1To30000Step1Range("A"&i)=iNextMsgBox("程序运行了"&Format(Timer-t,"0.00"&"秒"))EndSub
4、因为是一次写30000个单元格,而秤郓鹜媲且是用for循环,还是会很费时间的。但是能看出来,时间还是减少了。我们如果将循环做到3000个单元格,时袁葜槭贿间会是多少?Sub宏1()Application.ScreenUpdating=FalseDimiAsIntegerDimtt=TimerFori=1To3000Step1Range("A"&i)=iNextMsgBox("程序运行了"&Format(Timer-t,"0.00"&"秒"))EndSub
5、时间提示对代码的优化还是很有效的。待优化到极致后,删除时间提示的代码即可。