目次
01. Select Case文
02. サンプル
03. 演算子
Select Case文とは
Select Case 値{ Case 値1 「値 = 値1」の時に実行される処理 Case 値2 「値 = 値2」の時に実行される処理 ・・・ Case Else 値がどのCaseの値にも一致しない時に実行される処理 End Select |
- 複数の条件分岐を行うときに使用します。
→if文をたくさん書くより見やすくなります。 - 値がCaseの値と一致すれば、一致したCaseの処理のみが実行されます。
- Case Elseは、値がどのCaseの値にも一致しない時に実行されます。省略可能です。
- 他言語でのswitch文にあたります。
- Excel、Accessとも同じです。
Select Case文で複数の条件分岐を行う
Sub test1()
Dim color As String
color = "yellow"
Select Case color
Case "red"
Debug . Print "redです"
Case "yellow", "green"
Debug.Print "yellow or greenです" '表示される
Case Else
Debug.Print "other"
End Select
End Sub
3行目は、変数に値をセットしています。
5行目からSelect文が始まります。
9行目のcaseは一致するのでその配下の処理が実行されSelect文を抜けます。
比較演算子で比較する (Is)
Case Is 比較演算子 |
比較演算子で比較を行う場合は、 Caseの後にIsが必要です。
Sub test1()
Dim number1 As Integer
number1 = 7
Select Case number1
Case Is > 10
Debug.Print "10より大きい"
Case Is = 7, 8
Debug.Print "7 or 8です" '表示される
Case Else
Debug.Print "other"
End Select
End Sub
6,9行目は、Isと比較演算子で比較しています。
9行目は、7または8の場合、という意味になります。
10行目の文言が表示されます。
範囲指定で比較する (To)
Case 数値 To 数値 |
範囲指定で比較するときは、Toを使用します。
Sub test1()
Dim number1 As Integer
number1 = 17
Select Case number1
Case 1 To 10
Debug.Print "1から10です"
Case 11 To 20
Debug.Print "11から20です" '表示される
Case Else
Debug.Print "other"
End Select
End Sub
6行目と9行目は、Toで範囲指定をしています。
10行目の文言が表示されます。
比較演算子の一覧
上記コードの=や>は比較演算子です。
以下は、VBAの比較演算子の一覧です。
比較演算子 | 説明 |
---|---|
a = b | aとbの値は等しい |
a <> b | aとbの値は等しくない |
a > b | aはbより大きい |
a >= b | aはbより大きい または 等しい |
a < b | aはbより小さい |
a <= b | aはbより小さい または 等しい |
以下は、MicrosoftのVBAのSelect Case文のリンクです。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/select-case-statement
関連の記事