アクセス上位ページ
 
最近の更新内容
(5)-a.条件分岐 If ⇐ [PREV]
[NEXT] ⇒ (5)-c.繰り返し処理 For … Next

Excel VBA ≫ 1.基礎編 - 制御構文(5)-b.条件分岐 Select Case

Select Case

条件によって処理を分岐させるのはIfと同じですが、 変数が取り得る複数の値によって処理を分岐させたい場合はSelect Caseステートメントが有効です。 Case Else節は必要がなければ省略してかまいません。

【構文】
Select Case [変数]
Case [値リスト1]
    処理1   '変数が値リスト1に合致する場合に実行
Case [値リスト2]
    処理2   '変数が値リスト1に合致せず、値リスト2に合致する場合に実行
      ・
      ・
      ・
Case Else
    処理n   '変数が上記条件に合致しない場合に実行
End Select

値リストには数字や文字列が指定可能です。カンマで区切ると値を複数指定でき、また、"To"を使用すると範囲指定ができます。



次のマクロはシステム日付の月によって季節の表示をコントロールする例です。
Sub sample5_2()
    Dim myMonth  As Integer

    myMonth = Month(Date)   'システム日付から月を取得します。

    Select Case myMonth
    Case 4, 5, 6    'カンマで区切ると複数の値を指定できます。
        MsgBox "春です。"
    Case 7 To 9     'Toで範囲指定ができます。
        MsgBox "夏です。"
    Case 10, 11, 12
        MsgBox "秋です。"
    Case Else       '上記の条件に合致しない場合はここへきます。
        MsgBox "冬です。"
    End Select
End Sub
⇒ サンプルマクロ集 へ


Case節に比較条件を指定する

Case節には数字や文字列以外にも、"Is"を使用して比較条件を指定することができます。

Sub sample5_3()
    Dim Points  As Integer

    Points = 105

    Select Case Points
    Case Is < 0, Is > 100    'Pointsが0未満または100を超える場合
        MsgBox "点数は0〜100の範囲で入力してください。"
    Case Is >= 70
        MsgBox "合格です。"
    Case Else
        MsgBox "不合格です。"
    End Select
End Sub
⇒ サンプルマクロ集 へ
カテゴリ内ページ



Page
Top