「vba または 条件 case」
「vba case 複数条件 or」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、時折あります。
VBA(Visual Basic for Applications)の条件分岐文の一つSelect Case文で、Or条件をどう書けばいいのかを探している方による検索です。
VBAのSelect Case文に関する定番の疑問と言っていいでしょう。
Select CaseのOr条件を使ったサンプルマクロ
わかってしまえば、あっけない書き方でSelect Case文のOr条件となります。
Dim date_ As Variant
date_ = ActiveCell.Value
If Not IsDate(date_) Then Exit Sub
Case 1
MsgBox "日曜日だ。"
Case 5, 6
MsgBox "もうすぐ週末ですよ。"
Case 7
MsgBox "週末(土曜日)ですね。"
Case Else
MsgBox "平日です。"
End Select
End Sub
アクティブセルに日付が入力されているときに上記のマクロを実行すると、木曜日か金曜日の日付の場合に、「もうすぐ週末ですよ。」というメッセージが表示されます。
この判別を行っている、
Case 5, 6
のように「,」(カンマ)で複数の条件を羅列するだけでOr条件となります。
Select CaseのOr条件ではToやIsも使える
Select Case文では、ToやIsといったキーワードも使え、これらも「,」で区切って羅列することでOr条件になります。
Dim num As Variant
num = ActiveCell.Value
If Not IsNumeric(num) Then Exit Sub
Case 1 To 3, Is >= 10
MsgBox "○"
Case Else
MsgBox "-"
End Select
End Sub
アクティブセルに数値が入力されているときに上記のマクロを実行すると、1以上3以下、または10以上のときに、「○」がメッセージボックスに表示されます。
Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » Select Case文で複数条件Orはどう書く?