ExcelのVBA(マクロ)で、Select~Case文の使い方 (条件式など)について紹介します。
Select Case文とは
Select Case文は、多分岐を行うための選択文です。
評価する対象がすべて同じ場合に使います。
書式①
Select Case文は、変数と同じ値を持つCase以下を”全て”実行します。
Select Case 変数
Case 値①
「変数 = 値①」である場合の処理
Case 値②
「変数 = 値②」である場合の処理
Case Else
変数が値①、値②でない場合の処理
End Select
書式②
値を範囲で指定したい場合はToを使います。
Select Case 変数
Case 値1 To 値2
変数が値1~値2の範囲内にある場合の処理
Case 値3 To 値4
変数が値3~値4の範囲内にある場合の処理
Case Else
変数が上記以外の範囲内にある場合の処理
End Select
書式③
比較演算子と条件式を使う場合はIsを使います。
Select Case 変数
Case Is 条件1
変数が条件1を満たす場合の処理
Case Is 条件2
変数が条件2を満たす場合の処理
Case Else
変数が上記以外の範囲内にある場合の処理
End Select
サンプルコード①
サンプルプログラムのソースコードです。
例①
Sub test()
x = 10
Select Case x
Case 5
MsgBox "xは5です"
Case 10
MsgBox "xは10です"
Case 15
MsgBox "xは15です"
End Select
End Sub
メッセージボックスには「xは10です」と表示されます。
例②
Sub test()
x = 10
Select Case x
Case 5 To 9
MsgBox "xは5~9です"
Case 10 To 14
MsgBox "xは10~14です"
Case 15 To 19
MsgBox "xは15~19です"
End Select
End Sub
メッセージボックスには「xは10~14です」と表示されます。
例③
Sub test()
x = 10
Select Case x
Case Is >= 15
MsgBox "xは5以上です"
Case Is >= 10
MsgBox "xは10以上です"
Case Is >= 5
MsgBox "xは15以上です"
End Select
End Sub
メッセージボックスには「xは10以上です」と表示されます。
関連ページ

【VBA入門】基礎から作業自動化の応用例まで解説
VBA(マクロ)で様々な処理を自動化する方法をサンプルコード付きで入門者向けにまとめました。
コメント