開始、終了処理
VBAで処理を実行するときに、いくつかの処理をする事があります。
①Application.ScreenUpdating
マクロの速度を上げるために画面を更新/更新しないようにする。
※マクロの処理過程は見えなくなりますが、実行速度が速くなる。
②Application.Cursor
マウスポインタの表示設定
・xlDefault:標準のポインター
・xlbeam:I字型ポインター
・xlNorthwestArrow:矢印型ポインター
・xlWait:砂時計型ポインター
③Application.Calculation
計算モードの設定
・xlCalculationAutomatic:エクセルが自動で再計算
・xlCalculationManual:ユーザー要求で計算開始
・xlCalculationsemiautomatic:エクセルが自動で再計算するが、テーブル内の変更は無視
④Application.DisplayAlerts
マクロ実行中の特定の警告やメッセージを表示/非表示にする。
※ブックを保存するときの「SaveAs」メソッドで既存のファイルを上書きするときに「名前を付けて保存」ダイアログが
・DisplAlerts=True ⇒ デフォルトが「いいえ」
・DisplAlerts=False ⇒ デフォルトが「はい」
になるので注意が必要
⑤Application.EnableEvent
ブックやシートに対して指定したイベントを実行/停止ができる
※イベントプロシージャを使用していないと関係ありません
他にもあるかもしれませんが、上記が代表的な処理と思います。
【マクロ開始時】
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Cursor = xlWait
'Application.Calculation = xlCalculationManual
'Application.EnableEvent = False
【マクロ終了時】
Application.ScreenUpdating = True
Application.Cursor = xlDefault
Application.Calculation = xlCalculationAutomatic
'Application.DisplayAlerts = True
'Application.EnableEvent = True
※DisplayAlertsとEnableEventは、マクロ開始、終了時でなく、適時プログラム中に
True/Falseで実行/無効をしてよいと思うので、最初に「'」を付けてコメントアウトにしています。
今回はマクロ作成時の開始、終了時の処理について記載しました。