条件分岐 Select Case の使用方法

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

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

値リストには数字や文字列が指定でき、カンマで区切ると値を複数指定できます。また、“To”を使用すると範囲指定ができます。この他、“Is”を使用して比較条件を指定することもできます。

次のサンプルマクロはシステム日付の月によって季節の表示をコントロールする例です。

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

 Month関数

次のサンプルマクロは値リストに比較条件を指定する例です。

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
タイトルとURLをコピーしました