Excel VBAのSelect Case文のサンプル

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 セルの値をテキストに出力するサンプル

△上に戻る