プログラム実行の高速化: Application.ScreenUpdating

計算回数の多いプログラムを作ると、だんだんと実行速度が遅くなっていきます。
VBAはインタプリタで1行1行順次実行するという性質上これは避けられません。
その為少しでも高速化するために、記述を工夫する必要があります。
少し慣れたVBAのプログラマが必ずやるのは、画面の更新を一旦停止することです。
プログラムの最初に、
  Application.ScreenUpdating = False
という記述を行い、実行中画面の更新を停止します。このたった一行の追加で
プログラムは何倍も高速化しますから、書くのを癖にしてしまいましょう。

Sub test()
   Application.ScreenUpdating = False    '画面更新停止

   For i = 1 To 10          ' 1から10まで繰り返す
      Cells(i, 2) = i           ' i行2列に、iを入力する
   Next i

   Application.ScreenUpdating = True     '画面更新再開
End Sub

0 件のコメント:

コメントを投稿