【簡単!】マクロ・VBA実行前に確認ボタンを出現させる
↑の画像のような
マクロ・VBAの実行前に確認のボタンを表示させるには
以下のVBAサンプルコードを参考に作成してみてください。
If MsgBox(prompt:="※※①※※", Buttons:=vbOKCancel) = vbOK Then
//////////ここに処理のコード/////////
End If
このコードの【”※※①※※”】の部分には
表示させる文章を記入します。↑の画面から言えば、
「prompt:= “実行してよろしいですか?”」が入ります。
それでは例題に基づいて
実際の画面を表示しながら解説してきます。
(ちなみに、ボタンの表題[タイトル]も編集できます。例題でやります)
例題①(Yesのみ)
例えば↑のようなリストがあったとします。
このリストの [C3:G7] の記入欄の内容を取消(クリア)する処理の前に
確認ボタンを出現させるコードを作成してみました。
以下のサンプルコードになります。ご参考までに。
If MsgBox(prompt:="記入内容をクリアしますか?", Buttons:=vbOKCancel, Title:="記入箇所の取消") = vbOK Then
Range("C3:G7").ClearContents
End If
表示させる確認ボタンの表題(タイトル)も作成してみました。
↑のコードの [Title:=”※※※”] の部分に記入してください。
ちなみに、このタイトルは特段、
作成しなくても問題ございません。タイトル設定がない場合は、
下記のように「Microsoft Excel」と表示されます。
例題②(YesとNoの選択肢を作成)
例題①は【はい(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]を記入してください。
選択肢ボタンについてまとめると以下です。
◆選択肢ボタン
1.[はい]と[キャンセル]・・・Buttons:=vbYesCancel
2.[はい]と[いいえ]のみ・・・Buttons:=vbYesNo
3.[はい]と[いいえ]と[キャンセル]…Buttons:=vbYesNoCancel
2の【[はい]と[いいえ]のみ】だと、どちらかを選択しないと
確認ボタンが消えない事になってしまい、
万が一、誤ってマクロ・VBAコードを実行してしまった場合は
キャンセルが効かない、つまり、
YesかNoを選ばないと表示が消えないので少々注意が必要です。
以上、参考になれば幸いです。