shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel VBA】開始時の実行確認と終了時のメッセージを表示する方法

Excel VBAでマクロを実行するとき、処理の開始と終了をメッセージで確認できると、ミスの防止や操作性の向上に役立ちます。

例えば、

  • マクロの実行ボタンを誤ってクリックし、意図しないデータ変更が発生してしまう。
  • 処理がすぐに終了するマクロや、処理前後の違いが把握しにくいマクロでは、処理が終了したのかどうかの確認が手間になる。
  • マクロの終了時、次のアクションや確認事項を明示することで手順を誘導し、操作性を向上させたい。

などの対応には、画面にメッセージを表示することが有効です。

 

以下は、開始時の実行確認と終了時のメッセージを表示するシンプルなサンプルです。

VBAサンプル

開始時は、処理を実行するかを確認するメッセージの表示し、「いいえ」が選択された場合は実行を終了します。

終了時は、メッセージを表示するだけです。

Sub 開始時の実行確認と終了時のメッセージ()
    Dim 開始確認 As Long
   
    '開始時の実行確認'
    開始確認 = MsgBox("〇〇の処理を実行しますか?", vbYesNo)
    If 開始確認 = vbNo Then Exit Sub '「いいえ」なら終了'
    
    '(実行したい処理を記載)'

    '終了時のメッセージ'
    MsgBox "処理が終了しました" & vbCrLf & "〇〇を確認してください。"
    
End Sub

補足説明

  • メッセージの表示方法(ボタンの種類や、タイトルなど)を調整することはできますが、とりあえず最低限のシンプルなものです。
    私はこれで十分ですが、もし調整したい場合は、以下にある引数を指定します。

    learn.microsoft.com

  • ”(実行したい処理を記載)”の箇所に具体的な処理を記載します。
  • メッセージに改行があった方が読みやすいケースもあるので、上記サンプルの「終了時のメッセージ」は、vbCrLf を文字連結で利用して改行しています。
    当該箇所を復帰文字 (Chr(13))、改行文字 (Chr(10))としても改行可能です。

以上、Excel VBAで、開始時の実行確認と終了時のメッセージを表示する方法でした。

なお、WordなどのVBAも同様です。