【用語集に記載の内容について】

用語集に記載されているメソッドや関数の引数は、VBAエキスパート試験の試験範囲に基づいており、すべての引数を網羅しておりません。 また、書式は公式テキストの記載に準じています。
試験範囲外の引数や詳細については、ヘルプ機能やオブジェクトブラウザーをご参照ください。

【コードをコピーして実行する場合の注意】

文字コードの関係上、半角の「¥」は「/」で表示されるため、当サイトでは全角の「¥」で記載しています。当サイトのコードをコピーして実行する場合は、全角の「¥」を半角の「¥」に変換してください。

Select Caseステートメント

名称Select Caseステートメント
説明
条件分岐を表す命令です。

二値以外の複数の条件分岐を簡潔に記述できます。

二値とは、「〇〇か、そうでないか」という2つの値です。

二値以外の条件分岐は、Select Caseステートメントを使用して、「〇〇なら処理1」「××なら処理2」「△△なら処理3」…というように複数の条件を記述します。

【比較】
二値の条件分岐は、Ifステートメントを使用して「〇〇なら処理1、〇〇でなければ処理2」と記述します。
書式
Select Case 値
    Case 条件1
        条件1のときの処理
    Case 条件2
        条件2のときの処理
    Case Else
        どの条件にも当てはまらない場合の処理
End Select

値:変数やセルの値など、評価の対象を指定
コード例①
Sub Macro1()
    Select Case Range("A1").Value
        Case "朝"
            MsgBox "Good morning!"
        Case "夜"
            MsgBox "Good evening!"
        Case Else
            MsgBox "Hello!"
    End Select
End Sub

<セルA1の値が「朝」の場合>
「Good morning!」のメッセージボックスを表示します。

<セルA1の値が「夜」の場合>
「Good evening!」のメッセージボックスを表示します。

<セルA1の値が「朝」「夜」以外の場合>
「Hello!」のメッセージボックスを表示します。
コード例②
【OR条件を指定】
Sub Macro2()
    Select Case Range("A1").Value
         Case "牛肉", "豚肉"
             MsgBox "肉です"
         Case "アジ", "マグロ"
             MsgBox "魚です"
         Case Else
             MsgBox "肉・魚以外です"
     End Select
End Sub

複数の条件をカンマで区切ると、条件を「OR(または)」で結合し、指定した条件のいずれかひとつに該当するときに条件に一致したと見なします。

<セルA1の値が「牛肉」または「豚肉」の場合>
「肉です」のメッセージボックスを表示します。

<セルA1の値が「アジ」または「マグロ」の場合>
「魚です」のメッセージボックスを表示します。

<セルA1の値が「牛肉」「豚肉」以外の場合>
「肉・魚以外です」のメッセージボックスを表示します。
コード例③
【条件に範囲を指定】
Sub Macro3()
    Select Case Range("A1").Value
        Case 1 To 5
            MsgBox "1~5の数です"
        Case 6 To 10
            MsgBox "6~10の数です"
        Case Else
            MsgBox "1~10以外の値です"
    End Select
End Sub

条件の2つの数値をToキーワードでつなぐと、数値の範囲を表します。
書式:Case 下限値 To 上限値

<セルA1の値が1以上5以下の場合>
「1~5の数です」のメッセージボックスを表示します。

<セルA1の値が6以上10以下の場合>
「6~10の数です」のメッセージボックスを表示します。

<セルA1の値が1以上10以下の値以外の場合>
「1~10以外の値です」のメッセージボックスを表示します。
コード例④
【評価対象と比較】
Sub Macro4()
    Select Case Range("A1").Value
        Case Is < 10
            MsgBox "10以下です"
        Case Is >= 10
            MsgBox "10以上です"
    End Select
End Sub

評価対象(セルA1)と比較するときは、Isキーワードを使用します。
Macro4のIsは「Range("A1").Value」を表します。

<セルA1の値が10未満の場合>
「10以下です」のメッセージボックスを表示します。

<セルA1の値が10以上の場合>
「10以上です」のメッセージボックスを表示します。
カテゴリスタンダード