マクロ実行前に確認メッセージを表示したい
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ではなく、戻り値もらって処理分岐のがコードは見やすいです。



コメント