VBAでScreenUpdatingをFalseにすると処理が速い
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
[ 2014年12月2日 | カテゴリー: Excel | タグ: VBA , 高速化 ]
« ジェフ千葉、3位でプレーオフ進出 | 大富豪で革命が起きる確率 »
コメントを残す