當一程式有太多的畫面變更時,適時的將畫面關閉更新,將有助於程式效率的提昇,由於免除掉程式執行時的畫面,只帶出最後結果畫面,將節省不少時間。各位可試著執行看看,兩個程式執行後的時間差異。
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方法來節省時間,有機會可試著改看看。