Switch関数 解説(Excel VBA)

Excel VBAのSwitch関数について

Excel VBAのSwitch関数は、一連の式を評価し、最初にTrueとなる式に対応する値を返す関数です。各式は、一連の引数のペアとして提供され、最初の引数が条件(真偽値を返すもの)、2番目の引数がその条件がTrueの場合に返す値となります。

Switch関数の構文

Switch関数の基本的な構文は次のとおりです:

Switch(expr-1, value-1, expr-2, value-2, ..., expr-n, value-n)

ここで、expr-nは評価する条件を、value-nはその条件がTrueの場合に返す値を指定します。引数は対の形式で提供されます。もし全てのexprがFalseの場合、Switch関数はNullを返します。

Switch関数の使用例

以下にSwitch関数の基本的な使用例を示します。

Sub SwitchExample()
    Dim grade As String
    Dim message As String

    grade = "B"
    
    message = Switch( _
        grade = "A", "Excellent!", _
        grade = "B", "Good job", _
        grade = "C", "Well done", _
        grade = "D", "You passed", _
        grade = "F", "Better luck next time" _
    )
    
    If Not IsNull(message) Then
        MsgBox message
    Else
        MsgBox "Invalid grade"
    End If
End Sub

このサブルーチンを実行すると、指定した評価値 “B” に基づいてメッセージ “Good job” が表示されます。もし評価値が与えられていない場合や評価値がどの条件にも合致しない場合は、”Invalid grade”というメッセージが表示されます。

このように、Switch関数は複数の条件を同時に評価する際や、条件に応じて異なる結果を返したい場合に便利な関数です。