ExcelのVBAのSelect Case文のサンプルです。
目次
Select Case文
| Select Case 式{ Case 値1 「式の値 = 値1」の時に実行される処理 Case 値2 「式の値 = 値2」の時に実行される処理 ・・・ Case Else 式の値がどのCaseの値にも一致しない時に実行される処理 End Select |
- 式の値がCaseの値と一致すれば、一致したCaseの処理のみが実行されます。
- Case Elseは、式の値がどのCaseの値にも一致しない時に実行されます。省略可能です。
コード
サンプルのコードです。
9行目は、黄または緑の場合、という意味になります。
Sub test1()
Dim color As String
color = "黄"
Select Case color
Case "赤"
MsgBox "赤です"
Case "黄", "緑"
MsgBox "黄or緑です" ' 黄or緑です が表示される
Case Else
MsgBox "それ以外"
End Select
End Sub
比較演算子で比較する (Is)
比較演算子で比較を行う場合は、 Caseの後にIsが必要です。
コード
6,9行目は、比較演算子で比較しています。
9行目は、7または8の場合、という意味になります。
Sub test1()
Dim kazu As Integer
kazu = 7
Select Case kazu
Case Is > 10
MsgBox "10より大きい"
Case Is = 7, 8
MsgBox "7or8です" ' 7or8です が表示される
Case Else
MsgBox "それ以外"
End Select
End Sub
比較演算子の一覧
上記コードの=や>は比較演算子です。
以下は、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より小さい または 等しい |
範囲指定で比較する (To)
範囲指定をするときは、Toを使用します。
コード
6行目と9行目は、Toで範囲指定をしています。
Sub test1()
Dim kazu As Integer
kazu = 17
Select Case kazu
Case 1 To 10
MsgBox "1-10です"
Case 11 To 20
MsgBox "11-20です" ' 11-20です が表示される
Case Else
MsgBox "それ以外"
End Select
End Sub
関連の記事
Excel VBAのIF文のサンプル
Excel VBAのFor文のサンプル
Excel VBAのDo Loop文のサンプル
Excel VBAのFor Each文のサンプル
Excel VBAの変数の宣言を強制するサンプル
Excel VBAのデータ型
Excel VBA セルを指定して値を設定/取得するサンプル
Excel VBA セルの値をテキストに出力するサンプル