【用語集に記載の内容について】
用語集に記載されているメソッドや関数の引数は、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以上です」のメッセージボックスを表示します。 |
カテゴリ | スタンダード |