【VBA】マクロ実行時の画面凍結で処理速度向上

2022年1月24日

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_Stop_Screen①

例えば↑のVBAコードを使用して、
A列に適当な文字列を100,000行目までひたすら振っていった場合は
速度にこれくらい差が生まれます。

いかがでしょうか?
たとえ数秒ですが、毎日の繰り返し。
積み重なれば大きいです。みんなで効率UPを目指しましょう!

広告