Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » Select Case文で複数条件Orはどう書く?

Select Case文で複数条件Orはどう書く?

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「vba または 条件 case」
「vba case 複数条件 or」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、時折あります。

VBA(Visual Basic for Applications)の条件分岐文の一つSelect Case文で、Or条件をどう書けばいいのかを探している方による検索です。

VBAのSelect Case文に関する定番の疑問と言っていいでしょう。

[スポンサードリンク]

Select CaseのOr条件を使ったサンプルマクロ

わかってしまえば、あっけない書き方でSelect Case文のOr条件となります。

Sub SelectCase文のOr条件1()
 Dim date_ As Variant

 date_ = ActiveCell.Value
 If Not IsDate(date_) Then Exit Sub

 Select Case Weekday(date_)
  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条件になります。

Sub SelectCase文のOr条件2()
 Dim num As Variant

 num = ActiveCell.Value
 If Not IsNumeric(num) Then Exit Sub

 Select Case num
  Case 1 To 3, Is >= 10
   MsgBox "○"
  Case Else
   MsgBox "-"
 End Select
End Sub

アクティブセルに数値が入力されているときに上記のマクロを実行すると、1以上3以下、または10以上のときに、「○」がメッセージボックスに表示されます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » Select Case文で複数条件Orはどう書く?

「条件分岐」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.