🔖
たった4行でExcelマクロを劇的に早くする方法
はじめに
まったく本業ではありませんが、Excelのマクロを書く機会がありました。
とりあえず以下の4行を入れると処理に影響なく早くできたので共有します。
再描画を止める
Application.ScreenUpdating = False
イベントを止める
Application.EnableEvents = False
カーソルを砂時計にする
Application.Cursor = xlWait
アラートを止める
Application.DisplayAlerts = False
サンプル
Sub sampleSub()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Cursor = xlWait
MsgBox "処理を開始します"
Application.DisplayAlerts = False
Call 呼びたい関数
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Cursor = xlDefault
MsgBox "処理を終了します"
End Sub
その他
基本的にカラム(セル)の挿入や削除は処理が重いので、セルのコピーや貼り付けなどで頑張った方がいいです。
Discussion