処理を分岐するマクロ

MsgBoxとIfステートメントを使って、「はい、いいえ」の処理を分岐するマクロの方法を説明します。

①マクロを実行すると、条件処理のMsgBoxが表示されます。
②「はい、いいえ」のMsgBoxが表示されます。
③「はい」を選択すると、数値が入ります。
④「いいえ」を選択すると、メッセージが表示されます。

VBAのコード

サンプル0050
[aside type=”normal”]コード内でWクリックすると、全選択できます。[/aside]
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でこのプロシージャが終了します。

以上で「処理を分岐するマクロ」の説明を終わります。