1、一下代码使用for循环将1到30000依次写入A1~A30000单元格,执行起来如下图。用了不少时间才写完,但是不知道多久。Sub 宏1()Dim i As IntegerFor i = 1 To 30000 Step 1Range("A" & i) = iNextEnd Sub
2、修改代码,加入时间提醒。再来看看。可以清晰地看到,程序运行了9.1秒。Sub 宏1()Dim i As IntegerDim tt = TimerFor i = 1 To 30000 Step 1Range("A" & i) = iNextMsgBox ("程序运行了" & Format(Timer - t, "0.00" & "秒"))End Sub
3、为了提高运行速度,我们在代码上面加入一句,看看能否提高运行速度。可以看到速度略有提升。Sub 宏1()Application.ScreenUpdating = FalseDim 足毂忍珩i As IntegerDim tt = Timer For i = 1 To 30000 Step 1 Range("A" & i) = i NextMsgBox ("程序运行了" & Format(Timer - t, "0.00" & "秒"))End Sub
4、因为是一次写30000个单元格,而秤郓鹜媲且是用for循环,还是会很费时间的。但是能看出来,时间还是减少了。我们如果将循环做到3000个单元格,时间会是多少?Sub 宏1()Application.ScreenUpdating = FalseDim i As IntegerDim tt = Timer For i = 1 To 3000 Step 1 Range("A" & i) = i NextMsgBox ("程序运行了" & Format(Timer - t, "0.00" & "秒"))End Sub
5、时间提示对代码的优化还是很有效的。待优化到极致后,删除时间提示的代码即可。