開始、終了処理

 

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で実行/無効をしてよいと思うので、最初に「'」を付けてコメントアウトにしています。

 

今回はマクロ作成時の開始、終了時の処理について記載しました。