ExcelのVBAの処理の高速化の一つにScreenUpdatingをFalseにする方法があります。
通常、いずれかのセルの値を変更するとそれを表示するために画面が更新されます。これに時間がかかります。「Application.ScreenUpdating = False」とすると画面が更新されなくなり、処理が速くなります。コードの最初でFalseにしておき、一連の処理が終わった最後にTrueにすれば画面が更新されます。
次のサンプルはA1セルに1から100000までを入力するものですが、ScreenUpdatingをFalseにするとTrueのときより約5倍速くなりました。
Sub test()
Application.ScreenUpdating = False
For i = 1 To 100000
Cells(1, 1) = i
Next i
Application.ScreenUpdating = True
End Sub
Application.ScreenUpdating = False
For i = 1 To 100000
Cells(1, 1) = i
Next i
Application.ScreenUpdating = True
End Sub



コメント