条件分岐のIF


IF関数のように、ある条件を満たした時だけ処理したい、そのように条件によって処理を変更したい場合は、VBAではIF文が多く使われています。

構文

If 条件式 Then

 条件式が成立した場合の処理

Else

 条件式が成立しなかった場合の処理

End If

 

 

 

サンプル

Sub test()
    Dim Score As Integer
    Score =85
      
    If Score >= 60 Then
        MsgBox "合格です。"
    Else
        MsgBox "不合格です。"
    End If
End Sub

 

実行結果

 

 

比較演算子

 

 

 

 

複数条件で分岐:ElseIf~Else

 2つ以上複数の条件で、ものごとを判断したいとき、Elseif ~ Elseがよく使われます。その使い方を見ていきましょう。

 

構文

If 条件式1 Then
    条件式1が成立した場合の処理
ElseIf 条件式2 Then
    条件式2が成立した場合の処理
ElseIf 条件式3 Then
    条件式3が成立した場合の処理
Else
    上記のいずれの条件も成り立たない場合の処理
End If

 

サンプル2

 

Sub test2()

 

    Dim MyAge As Integer
    MyAge = 25
      
    If MyAge >= 0 And MyAge < 5 Then
        MsgBox "幼年です。"

    ElseIf MyAge >= 5 And MyAge < 15 Then
        MsgBox "少年です。"

    ElseIf MyAge >= 15 And MyAge < 30 Then
        MsgBox "青年です。"

    ElseIf MyAge >= 30 And MyAge < 40 Then
        MsgBox "壮年です。"

    ElseIf MyAge >= 40 And MyAge < 55 Then
        MsgBox "中年です。"

    ElseIf MyAge >= 55 And MyAge < 65 Then
        MsgBox "熟年です。"

    ElseIf MyAge >= 65 And MyAge < 70 Then
        MsgBox "高年です。"

    Else
        MsgBox "老年です。"

    End If
End Sub

 

 

実行結果

 

 

論理演算子

 

 

Elseifの数は、制限はありませんが、Select Caseがより速く実行可能です。Select Caseの使い方について、次回紹介します。

 

 

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る