MsgBoxとIfステートメントを使って、「はい、いいえ」の処理を分岐するマクロの方法を説明します。
②「はい、いいえ」のMsgBoxが表示されます。
③「はい」を選択すると、数値が入ります。
④「いいえ」を選択すると、メッセージが表示されます。

VBAのコード
Dim Rtn As String Sub 処理を分岐するマクロ() 'メッセージボックスに表示する文字 MsgBox "これから条件分岐処理を実行します" Rtn = MsgBox("セルに数値を代入しますか", vbYesNo, "条件の選択") '「はい」の場合 If Rtn = vbYes Then Range("A1") = 2000 Else Range("A1") = "[いいえ]ボタンが押されました" End If End Sub
マクロの作成方法
1.デスクトップに作成した「確認用マクロのコピー」を開いて、「Visual Basic」をクリックします。
2.「Visual Basic」の画面で「Module1」を開きます。
3.サンプル0050のコードをコピーして、「Module1のコードウィンドウ」に貼り付けます。
4.マクロが実行されると、条件処理のMsgBoxが表示されます。
5.処理を分岐する「はい、いいえ」のMsgBoxが表示されます。
6.「はい」のボタンを押すと、ワークシートのセルA1に数値が入ります。
7.「いいえ」を押すと、メッセージが表示されます。
コードの説明
●Dimについて
Dim Rtn As String
この記述は、変数の宣言をするものです。変数の宣言を強制している場合は、この記述がないとエラーになりますので注意が必要です。
1.Rtnは変数です。
Stringはデータの型を表していて、「文字列型」を意味しています。
つまり、「Rtn」を文字列型の変数として宣言するという意味を示しています。
Dim Rtn As String
2.MsgBox は関数で、コードに記述するとメッセージボックスが表示されます。
ダブルクオーテーションで囲った文字が、メッセージボックスに表示されます。
MsgBox "これから条件分岐処理を実行します"
3.「vbYesNo」はメッセージボックスに「はい、いいえ」の2つのボタンを表示するということです。
Rtn = MsgBox("セルに数値を代入しますか", vbYesNo, "条件の選択")
4.次のコードは、もしも、変数「Rtn」が「Yes」なら、セルA1に数値2000を代入するという意味になります。
「はい」のボタンを押すと、2000がセルA1に入力されます。
If Rtn = vbYes Then
Range("A1") = 2000
5.次のコードは、上のYesでない時の処理をするものです。
[いいえ]のボタンを押すと、「[いいえ]ボタンが押されました」と表示されます。
End Ifは、Ifステートメントの処理を終了するためのものです。
Else
Range("A1") = "[いいえ]ボタンが押されました"
End If
6.End Subでこのプロシージャが終了します。
以上で「処理を分岐するマクロ」の説明を終わります。