Excel VBAのSelect Case文のサンプル

ExcelのVBAのSelect Case文のサンプルです。

目次

Select Case文

Select Case 式{
  Case 値1 
   「式の値 = 値1」の時に実行される処理
  Case 値2
   「式の値 = 値2」の時に実行される処理
   ・・・
  Case Else
   式の値がどのCaseの値にも一致しない時に実行される処理
End Select

コード

Select Case文のサンプルです。

Sub test1()
    Dim color As String
    color = "黄"
    
    Select Case color
        Case "赤"
            Debug.Print "赤です"
        
        Case "黄", "緑"
            Debug.Print "黄or緑です" '表示される
            
        Case Else
            Debug.Print "それ以外"
    End Select
End Sub

9行目は、黄または緑という意味になります。
10行目の文言が表示されます。

 

比較演算子で比較する (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 "7or8です" '表示される
            
        Case Else
            Debug.Print "それ以外"
    End Select
End Sub

6,9行目は、Isと比較演算子で比較しています。
9行目は、7または8の場合、という意味になります。
10行目の文言が表示されます。

 

範囲指定で比較する (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 "それ以外"
    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より小さい または 等しい

関連の記事

Excel VBAのIF文のサンプル
Excel VBAのFor文のサンプル
Excel VBAのDo Loop文のサンプル
Excel VBAのFor Each文のサンプル
Excel VBAの変数の宣言を強制する(Option Explicit)
Excel VBAのデータ型
Excel VBA セルに値を設定/取得するサンプル
Excel VBA セルの値をテキストに出力するサンプル

△上に戻る