VBATips

マクロ実行前に確認メッセージを表示する【パーツ化】【ExcelVBA】

マクロ実行前に確認メッセージを表示したい

VBAマクロを実行する際、ボタンを押して処理スタートといった事は多いです。
当方へご依頼頂く際も、基本的にはボタンを押したら、処理を進める形で組み込みます。

大企業様など、色々な部署でマクロ使用を想定した場合、
マクロ開始前に確認ボタンを表示したいと言われるケースがあります。

マクロ実行前に確認メッセージを表示するサンプルコード

’■マクロ処理開始前に、実行するかどうかポップアップで確認する
Public Function Call_StartCheckMsgBox() As Boolean
    If MsgBox("処理開始しますか?", vbYesNo + vbQuestion, "確認") = vbYes Then
        Call_StartCheckMsgBox = True       '「はい」選択時、Trueを戻り値として返す
    Else
        MsgBox "処理をキャンセルしました"  '「いいえ」選択時、キャンセルしたメッセージ
        End
    End If
End Function

使い方

実際の使い方は以下です。

Public Sub sample()
    'マクロ処理開始前に、実行するかどうかポップアップで確認する
    Call_StartCheckMsgBox
    
    'ここにメインの処理を記載(ポップアップでいいえを選んだ場合は処理されない)
    
    MsgBox "終了しました"
End Sub

注意点

  • Functionとしながら戻り値をもらわない形なので、少し変な記載方法ではあります。
    ※自分で使用するのがメインですのでご容赦ください。
  • 本来であればFunction内でEndではなく、戻り値もらって処理分岐のがコードは見やすいです。

関連記事

コメント

タイトルとURLをコピーしました