Excel VBAの処理高速化

Visual Basic for Applications (VBA)

ExcelでVBAのコードを実行中に、そのコードによって発生するシート上のイベント(セル変更イベントなど)や、シート上での値を都度書き換え表示(画面描画)を抑制することで、処理を高速化することができます。

Application.EnableEvents = False    ''イベント発生を停止する
Application.ScreenUpdating = False    ''画面描画の停止する

EnableEventsプロパティを False にすることで、Excelで発生するイベントを、またScreenUpdatingFalse にすることで画面描画を停止することができます。これらのプロパティは自動的復帰(イベント発生の再開や、画面描画の再開)などは行わないので、VBAコード上で再開を指示する必要があります。

Application.EnableEvents = True    ''イベント発生開始する
Application.ScreenUpdating = True    ''画面描画開始する