条件によって処理を分岐させるのはIfと同じですが、変数が取り得る複数の値によって処理を分岐させたい場合は Select Case ステートメントが有効です。Case Else 節は必要がなければ省略してかまいません。
次のサンプルマクロはシステム日付の月によって季節の表示をコントロールする例です。
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
次のサンプルマクロは値リストに比較条件を指定する例です。
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