Switch文は条件分岐処理を記述する際に利用します。
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文が用意されています。