【VBA/マクロ】If、ElseIf、Else文の使い方(複数の条件分岐)

ExcelのVBA(マクロ)でIf、ElseIf、Else文による複数の条件分岐についてソースコード付きでまとめました。

スポンサーリンク

複数の条件分岐(If、ElseIf、Else文)

VBA(マクロ)では、「If、ElseIf、Else文」を使うことで1つの条件分岐だけでなく複数の条件分岐を使って処理を分けることが出来ます。

書式

If 条件式① Then
    処理①
ElseIf 条件式② Then
    処理②
Else
    処理③
End If
条件 実行内容
条件式①が成立した場合 処理①を実行
条件式①が不成立 & 条件式②が成立 処理②を実行
条件式①②が不成立 処理③を実行

まず、条件式①が真であれば処理①を実行して終了します。
偽であった場合は、次の条件式②が真であれば処理②を実行して終了します。(以降Elseまで同じ)
ElseIf文の数だけ条件分岐を増やすことが出来ます。
※どれかの条件式が真となった場合はそれ以降のElseif、Else文はスルーされます。

スポンサーリンク

サンプルコード

以下のプログラムだと条件式(xは10である)が正しいです。
よって、if文内部の処理(メッセージボックスに「xは10である」と表示)が実行されます。
尚、条件式を書くときは「比較演算子」を使うことが多いです。

Sub test()
    x = 10

    If x >= 20 Then
        MsgBox "xは20以上である"
    ElseIf x >= 10 Then
        MsgBox "xは10以上である"
    ElseIf x >= 0 Then
        MsgBox "xは0以上である"
    Else
        MsgBox "xは0未満である"
    End If

End Sub

2つ目の条件式(xは10である)が正しいので、メッセージボックスには「xは10以上である」と表示されます。

関連記事
1 【Excel/VBA】マクロ入門
Excel/VBA
スポンサーリンク

コメント