Excel

小ネタ :Excel VBA 処理を止めない コツ!

Kuni.W

VBA で、違うExcelデータから情報を取得する場合、ファイルを開いて閉じたり、シートを削除したり、自動的に保存しり。様々な処理があります。処理の中にはダイアログと呼ばれる確認メッセージが表示されて、中断されます。途中で自動化した 処理を止めない / 回避する 小ネタ /コツをまとめました。

スポンサーリンク


やりたいこと

処理途中での意図しない処理停止を回避する

手段

保存に関するもの

【~SaveChange:= False / True】

確認ダイアログが表示されるもの

【~DisplayAlerts = False / True】

サンプルソース(コード)

ファイルを開いて閉じる時

ActiveWorkbook. Close SaveChanges : = False
   '----False:保存しないで閉じる
   '----True:保存して閉じる/

ファイルを閉じる時の確認ダイアログ。
誤って閉じようとした時、閉じる前に確認してくれる便利なものですが、プログラミング処理の時は不要です。

シートを削除する時

pplication.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete   '----選択しているシートを削除
Application.DisplayAlerts = True

FalseとTrueで挟まれた処理は、ダイアログが表示されず、強制的に削除されます。

上記処理を適宜いれることで完全自動化へ一歩近づきます。

ただ、使いどころを間違えると取り返しのつかないことになりかねないのでテストを重ねロジックチェックを怠らないようにしましょう。

ABOUT ME
記事URLをコピーしました