【簡単!】マクロ・VBA実行前に確認ボタンを出現させる
![VBA_実行前確認表示1](https://haginote.com/wp-content/uploads/2022/01/5cffb14d336ad131f9702e176f9d591b.jpg)
↑の画像のような
マクロ・VBAの実行前に確認のボタンを表示させるには
以下のVBAサンプルコードを参考に作成してみてください。
If MsgBox(prompt:="※※①※※", Buttons:=vbOKCancel) = vbOK Then
//////////ここに処理のコード/////////
End If
このコードの【”※※①※※”】の部分には
表示させる文章を記入します。↑の画面から言えば、
「prompt:= “実行してよろしいですか?”」が入ります。
それでは例題に基づいて
実際の画面を表示しながら解説してきます。
(ちなみに、ボタンの表題[タイトル]も編集できます。例題でやります)
例題①(Yesのみ)
![VBA_実行前確認表示2](https://haginote.com/wp-content/uploads/2022/01/24e88b4c8f93d78e9bb031b72c1ae2da.jpg)
例えば↑のようなリストがあったとします。
このリストの [C3:G7] の記入欄の内容を取消(クリア)する処理の前に
確認ボタンを出現させるコードを作成してみました。
以下のサンプルコードになります。ご参考までに。
If MsgBox(prompt:="記入内容をクリアしますか?", Buttons:=vbOKCancel, Title:="記入箇所の取消") = vbOK Then
Range("C3:G7").ClearContents
End If
表示させる確認ボタンの表題(タイトル)も作成してみました。
↑のコードの [Title:=”※※※”] の部分に記入してください。
ちなみに、このタイトルは特段、
作成しなくても問題ございません。タイトル設定がない場合は、
下記のように「Microsoft Excel」と表示されます。
![VBA_実行前確認表示3](https://haginote.com/wp-content/uploads/2022/01/ce17e4be2bd726bbbe87cc3c93722950.jpg)
![VBA_実行前確認表示4](https://haginote.com/wp-content/uploads/2022/01/1ca563f342a79d255da31d50bdaeadc8.jpg)
例題②(YesとNoの選択肢を作成)
![VBA_実行前確認表示5](https://haginote.com/wp-content/uploads/2022/01/1cb09987a2dae0072d678debe3163fa2.jpg)
【はい】=10%の金額記入
【いいえ】=8の金額記入
例題①は【はい(Yes)】の選択肢のみでしたが、
今度は【いいえ(No)】の選択肢も増やしてみたコードを作成しました。
以下のコードをご参照ください。処理内容は
セル【F3:F7】に税込単価を記載するコードなのですが、
8%の税込み単価を記載するか、
10%の税込み単価を記載するか、の処理コードになっています。
Dim Ans As Long
Ans = MsgBox(prompt:="消費税は10%ですか?", Buttons:=vbYesNoCancel, Title:="消費税の選択")
If Ans = vbYes Then
Range("F3:F7").Formula = "=D3*E3*1.1"
ElseIf Ans = vbNo Then
Range("F3:F7").Formula = "=D3*E3*1.08"
End If
【いいえ(No)】の選択肢も増やすには、
[ Buttons:=vb ]以降に[YesNoCancel]を記入してください。
![VBA_実行前確認表示6](https://haginote.com/wp-content/uploads/2022/01/6abb83963fd0aef5c26479bc0386732d.jpg)
![VBA_実行前確認表示7](https://haginote.com/wp-content/uploads/2022/01/505d5a81cb007981c95de04058146935.jpg)
選択肢ボタンについてまとめると以下です。
◆選択肢ボタン
1.[はい]と[キャンセル]・・・Buttons:=vbYesCancel
2.[はい]と[いいえ]のみ・・・Buttons:=vbYesNo
3.[はい]と[いいえ]と[キャンセル]…Buttons:=vbYesNoCancel
2の【[はい]と[いいえ]のみ】だと、どちらかを選択しないと
確認ボタンが消えない事になってしまい、
万が一、誤ってマクロ・VBAコードを実行してしまった場合は
キャンセルが効かない、つまり、
YesかNoを選ばないと表示が消えないので少々注意が必要です。
以上、参考になれば幸いです。