【VBA】マクロ実行時の画面凍結で処理速度向上
VBAコードの実行時、マクロの実行時に
画面が目まぐるしく動くのが、見ていて疲れる
そんな時には下記のコードを使ってください。
実行中の画面の動きがストップします。
ちなみに、画面を凍結すると処理速度の向上にも繋がりますので
この機会に是非友取り入れて下さい。
'画面凍結
Application.ScreenUpdating = False
‘///ここにコードを記入///
'画面凍結解除
Application.ScreenUpdating = True
これで処理中の画面は凍結し、
画面はそのまま、あたかも何も動いていない
ように見えますが、バッググラウンドでは
マクロちゃんがせっせと作業をしてくれています。
次の瞬間には、VBAコードの結果が瞬時に「パッ!」と反映されます。
ちなみに、冒頭で申し上げた通り、画面凍結「する」or「しない」のとでは
処理速度に違いが出ます。画面をSTOPさせた方が、
処理速度が速くなりますので、是非取り入れてみてください。
Dim StartTime, EndTime, ProcessTime As Double
Dim i As Long
StartTime = Timer
Application.ScreenUpdating = False
For i = 1 To 100000
Cells(i, 1) = "あいうえお・12345・ABCDE"
Next i
Application.ScreenUpdating = True
EndTime = Timer
ProcessTime = EndTime - StartTime
MsgBox "処理時間:" & ProcessTime & "秒"
End Sub
例えば↑のVBAコードを使用して、
A列に適当な文字列を100,000行目までひたすら振っていった場合は
速度にこれくらい差が生まれます。
いかがでしょうか?
たとえ数秒ですが、毎日の繰り返し。
積み重なれば大きいです。みんなで効率UPを目指しましょう!