ID : 135
Select Case...End Select
機能
条件式の値に従って、複数のステートメントブロックのいずれかを実行させます。
構文
Select Case 数式 Case 条件1 'Statements Case 条件n 'Statements-n Case Else 'ElseStatements End Select
指定項目
- 数式
- 条件nと比較をする数式を指定します。配列は指定できません。
- 条件n
- 数式と比較をする条件を指定します。
解説
数式の値と"Case"後に指定する条件nが成立する関係(True)の時、次の"Case"または"End Select"までのステートメントを実行します。実行後"End Select"直後の行に移行します。
"Case"後に"Else"を指定すると、指定した全ての条件nに当てはまらない場合に直後のElseStatementsを実行します。

条件nの指定方法
条件nは数式とを比較します。比較演算子で指定する比較が可能です。Case Is の後に比較演算子を伴って指定します。
等号"="の場合は"Is ="を省略できます。
比較演算とデータ型の関係は"比較演算子"を参照ください。
Select Case aaa
Case Is > bbb 'aaaがbbbより大きいとき
'statements
Case Is < bbb 'aaaがbbbより小さいとき
'statements
Case bbb 'aaaとbbbが同じ値のとき
'statements
End Select
特殊な条件指定
数式がbbb以上かつccc以下の条件を指定できます。
Select Case aaa
Case bbb To ccc
'statements
End Select
bbbよりcccが小さい場合はこの条件はTrueになりません。
複数の条件を指定する
複数の条件をOr条件で指定できます。","で区切って並べます。
Select Case aaa
Case Is <= 3 , 5 , 7 To 9 '3以下、もしくは5、7以上9以下のとき
'statements
Case Is > bbb , Is <= 0 'bbbより大きい、もしくは0以下のとき
'statements
End Select
注意事項
"Case Else"の後に他の条件を記述することはできません。
用例
'!TITLE "複数条件判断の実行"
' aaaの値が一致するCase文を実行
Sub Sample_SelectCase
Dim aaa As Integer
aaa = 2
' aaaの値がCase文の値と一致した場合、そのコマンドを実行
Select Case aaa
Case 0
' メッセージ出力ウィンドウに"0"を出力
PrintDbg aaa
Case 1
' メッセージ出力ウィンドウに"1"を出力
PrintDbg aaa
Case 2
' メッセージ出力ウィンドウに"2"を出力
PrintDbg aaa
Case 3
' メッセージ出力ウィンドウに"3"を出力
PrintDbg aaa
End Select
End Sub
ID : 135