【簡単!】マクロ・VBA実行前に確認ボタンを出現させる

2022年1月25日

VBA_実行前確認表示1

↑の画像のような
マクロ・VBAの実行前に確認のボタンを表示させるには
以下のVBAサンプルコードを参考に作成してみてください。

If MsgBox(prompt:="※※①※※", Buttons:=vbOKCancel) = vbOK Then
  //////////ここに処理のコード/////////
End If

このコードの【”※※①※※”】の部分には
表示させる文章を記入します。↑の画面から言えば、
prompt:= “実行してよろしいですか?”」が入ります。

それでは例題に基づいて
実際の画面を表示しながら解説してきます。
(ちなみに、ボタンの表題[タイトル]も編集できます。例題でやります)
 

広告

例題①(Yesのみ)

VBA_実行前確認表示2

例えば↑のようなリストがあったとします。
このリストの [C3:G7] の記入欄の内容を取消(クリア)する処理の前に
確認ボタンを出現させるコードを作成してみました。
以下のサンプルコードになります。ご参考までに。

If MsgBox(prompt:="記入内容をクリアしますか?", Buttons:=vbOKCancel, Title:="記入箇所の取消") = vbOK Then
 Range("C3:G7").ClearContents
End If

表示させる確認ボタンの表題(タイトル)も作成してみました。
↑のコードの [Title:=”※※※”] の部分に記入してください。

ちなみに、このタイトルは特段、
作成しなくても問題ございません。タイトル設定がない場合は、
下記のように「Microsoft Excel」と表示されます。

VBA_実行前確認表示3
編集できる箇所は上記の3つ
VBA_実行前確認表示4
[Title:=”※※※”] は特にコードに書かなくてもエラーにはなりません

 

例題②(YesとNoの選択肢を作成)

VBA_実行前確認表示5
【はい】と【いいえ】の選択肢を表示させる。処理内容は
【はい】=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
【はい】を選択すると10%
VBA_実行前確認表示7
【いいえ】を選択すると8%の金額が入りました。

 
選択肢ボタンについてまとめると以下です。

◆選択肢ボタン
1.[はい]と[キャンセル]・・・Buttons:=vbYesCancel
2.[はい]と[いいえ]のみ・・・Buttons:=vbYesNo
3.[はい]と[いいえ]と[キャンセル]…Buttons:=vbYesNoCancel

2の【[はい]と[いいえ]のみ】だと、どちらかを選択しないと
確認ボタンが消えない事になってしまい、
万が一、誤ってマクロ・VBAコードを実行してしまった場合は
キャンセルが効かない、つまり、
YesかNoを選ばないと表示が消えないので少々注意が必要です。

以上、参考になれば幸いです。

広告