excel-VBA中如何弹出代码执行的时间
1、一下代码使用for循环将1到30000依次写入A1~A30000单元格,执行起来如下图。用了不少时间才写完,但是不知道多久。
Sub 宏1()
Dim i As Integer
For i = 1 To 30000 Step 1
Range("A" & i) = i
Next
End Sub

2、修改代码,加入时间提醒。再来看看。可以清晰地看到,程序运行了9.1秒。
Sub 宏1()
Dim i As Integer
Dim t
t = Timer
For i = 1 To 30000 Step 1
Range("A" & i) = i
Next
MsgBox ("程序运行了" & Format(Timer - t, "0.00" & "秒"))
End Sub
3、为了提高运行速度,我们在代码上面加入一句,看看能否提高运行速度。可以看到速度略有提升。
Sub 宏1()
Application.ScreenUpdating = False
Dim i As Integer
Dim t
t = Timer
For i = 1 To 30000 Step 1
Range("A" & i) = i
Next
MsgBox ("程序运行了" & Format(Timer - t, "0.00" & "秒"))
End Sub

4、因为是一次写30000个单元格,而且是用for循环,还是会很费时间的。但是能看出来,时间还是减少了。我们如果将循环做到3000个单元格,时间会是多少?
Sub 宏1()
Application.ScreenUpdating = False
Dim i As Integer
Dim t
t = Timer
For i = 1 To 3000 Step 1
Range("A" & i) = i
Next
MsgBox ("程序运行了" & Format(Timer - t, "0.00" & "秒"))
End Sub

5、时间提示对代码的优化还是很有效的。待优化到极致后,删除时间提示的代码即可。