Select Case文
Select Case文は 下記のように記載します。
Select Case 変数
Case 値1
値1に一致した場合に実行
Case 値2
値2に一致した場合に実行
Case 値3
値3に一致した場合に実行
Case Else
値1・2・3に一致しない場合に実行
(上記の条件にどれも当てはまらない場合)
End Select
Case 値1
値1に一致した場合に実行
Case 値2
値2に一致した場合に実行
Case 値3
値3に一致した場合に実行
Case Else
値1・2・3に一致しない場合に実行
(上記の条件にどれも当てはまらない場合)
End Select
変数が値1、値2に一致した時に同じ処理をしたい場合、下記のようにカンマ区切りをします。
Select Case 変数
Case 値1, 値2
値1、値2に一致した場合に実行
Case 値3
値3に一致した場合に実行
Case Else
値1・2・3に一致しない場合に実行
(上記の条件にどれも当てはまらない場合)
End Select
Case 値1, 値2
値1、値2に一致した場合に実行
Case 値3
値3に一致した場合に実行
Case Else
値1・2・3に一致しない場合に実行
(上記の条件にどれも当てはまらない場合)
End Select
値1と値2に範囲があり(例えば10~20 等)、変数がその範囲内だった時に同じ処理をしたい場合、下記のようにtoを用います。
Select Case 変数
Case 値1 to 値2
値1~値2の範囲内だった場合に実行
Case 値3
値3に一致した場合に実行
Case Else
値1~2・3に一致しない場合に実行
(上記の条件にどれも当てはまらない場合)
End Select
Case 値1 to 値2
値1~値2の範囲内だった場合に実行
Case 値3
値3に一致した場合に実行
Case Else
値1~2・3に一致しない場合に実行
(上記の条件にどれも当てはまらない場合)
End Select
例として(余り良い例が見つからなかったので)3月決算の場合の年度を求める処理を記述します。
▽ カンマ区切りを用いた場合
Select Case Month(Now)
Case 1, 2, 3
MsgBox "現在は " & Year(Now) - 1 & "年度 " & Month(Now) & "月です"
Case 4, 5, 6, 7, 8, 9, 10, 11, 12
MsgBox "現在は " & Year(Now) & "年度 " & Month(Now) & "月です"
Case Else
MsgBox 月の指定に誤りがあります
End Select
Case 1, 2, 3
MsgBox "現在は " & Year(Now) - 1 & "年度 " & Month(Now) & "月です"
Case 4, 5, 6, 7, 8, 9, 10, 11, 12
MsgBox "現在は " & Year(Now) & "年度 " & Month(Now) & "月です"
Case Else
MsgBox 月の指定に誤りがあります
End Select
▽ toを用いた場合
Select Case Month(Now)
Case 1 to 3
MsgBox "現在は " & Year(Now) - 1 & "年度 " & Month(Now) & "月です"
Case 4 to 12
MsgBox "現在は " & Year(Now) & "年度 " & Month(Now) & "月です"
Case Else
MsgBox 月の指定に誤りがあります
End Select
Case 1 to 3
MsgBox "現在は " & Year(Now) - 1 & "年度 " & Month(Now) & "月です"
Case 4 to 12
MsgBox "現在は " & Year(Now) & "年度 " & Month(Now) & "月です"
Case Else
MsgBox 月の指定に誤りがあります
End Select