當一程式有太多的畫面變更時,適時的將畫面關閉更新,將有助於程式效率的提昇,由於免除掉程式執行時的畫面,只帶出最後結果畫面,將節省不少時間。各位可試著執行看看,兩個程式執行後的時間差異。
Sub Day10_1()
'未關閉畫面更新
Sheets("Day10").Select
Cells.Clear
For i = 1 To 1000
Range("A" & i).Select
Range("A" & i) = i * i
Next i
End Sub
Sub Day10_2()
'關閉畫面更新
Sheets("Day10").Select
Cells.Clear
Application.ScreenUpdating = False
For i = 1 To 1000
Range("A" & i).Select
Range("A" & i) = i * i
Next i
Application.ScreenUpdating = True
End Sub
各位可將程式複製到VBE裡面執行看看,在越舊、顯示卡越爛的電腦差異會越大
相同的,Day9的程式也可使用Application.ScreenUpdating方法來節省時間,有機會可試著改看看。