Excel VBA Switch文の書き方と使い方

Switch文は条件分岐処理を記述する際に利用します。

 

sponsor link

Excel VBA Switch関数の構文

(構文)

Switch(expr-1, value-1, [ expr-2, value-2…, [ expr-n, value-n ]])

https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/switch-function

Switch 関数の構文には、次の指定項目があります。

指定項目説明
expr必須 評価したい式を指定します。
value必須 対応する式が True の場合に返される値または式を指定します。

Switch関数では、左から順番に評価され、最初に一致した(Trueとなった)式と対となるvalueの値が返却されます。

いずれにも一致しない場合は Null が返却されます。

 

 

Excel VBA Switch関数の使用例

Switch関数の使用例を下記に掲載します。

セルA1の文字を判定してセルC1に結果を出力するシンプルなコードです。

Private Sub CommandButton1_Click()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.ActiveSheet
    Dim result As Variant
    Dim str As String

    str = ws.Cells(1, 1).Value
    result = Switch( _
        str = "A", "Aです" _
        , str = "B", "Bです" _
        , str = "C", "Cです")
    If IsNull(result) Then result = "その他の文字です"
    ws.Cells(1, 3).Value = result
End Sub

上記コードのSwitch関数の実行結果は下記のとおりです。

Excel VBAではその他にも似たような条件分岐で利用できるIf文やSelect Cace文が用意されています。

タイトルとURLをコピーしました