VBメニュー
トップページ
マネジメント パソコン英語
進学 ・資格 仕事 ・生活 技能ハッピーライフ

 

《テーマ》Select Case

 

《解説》

 

条件の値に従って、複数のステートメント ブロックのいずれかを実行させるフロー制御ステートメントである。

構文

Select Case testexpression
[Case expressionlist-n
[statements-n]] ...
[Case Else
[elsestatements]]

End Select

Select Case ステートメントの構文は、次の指定項目から構成される。

指定項目 内容
testexpression 必ず指定する。任意の数式または文字列式を指定する。
expressionlist-n Case 節がある場合は、必ず指定する。次の形式で指定する。また、複数指定するときは、カンマ (,) で区切る。

expression

expression To expression

Is comparisonoperator expression

引数 expression には数式または文字列を、引数 comparisonoperator には比較演算子を指定する。キーワード To は、値の範囲を指定する キーワードである。キーワード To を使って値の範囲を指定するときは、小さい方の値を先 (左側) に指定すること。キーワード Is は、値の範囲を指定するキーワードで、Is 演算子と Like 演算子以外の 比較演算子と共に使われる。キーワード Is は指定しなくても自動的に設定される。

statements-n 省略可能である。引数 testexpression が引数 expressionlist-n のいずれかと一致するとき、一致した引数 statements-n のステートメントが実行される。
elsestatements 省略可能である。引数 testexpressionCase 節のいずれとも一致しないとき、引数 elsestatements のステートメントが実行される。

解説

引数 testexpressionCase 節の引数 expressionlist のいずれかの式に一致すると、Case 節の次のステートメントがその次の Case 節まで実行される。Case 節が最後の節の場合は、End Select まで実行される。ブロックの実行が終わると、制御は End Select の次のステートメントに移る。引数 testexpression が複数の Case 節に一致するときは、最初に一致した Case 節に続くステートメントだけが実行される。

Case Else 節を使用して引数 testexpression がどの Case 節の引数 expressionlist にも一致しなかったときに実行する引数 elsestatements を指定する。Case Else ステートメントは必ずしも必要ではないが、予測できない引数 testexpression の値を処理するために、Select Case ブロックに Case Else ステートメントを記述することをお勧めする。どの Case 節の引数 expressionlist も引数 testexpression と一致しない場合に Case Else ステートメントが存在しないと、End Select の次のステートメントまで実行が継続する。

Case 節には複数の式や範囲を指定できる。たとえば、次の行は有効なステートメントである。

Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber 

メモ   比較演算子 IsSelect Case ステートメントで使われるキーワード Is は、同じものではない。

また、文字列の範囲や複数の文字列式を指定することもできる。次に示す Case 節では、"everything" と、アルファベット順に並んだ "nuts" から "soup" の間にある文字列、TestItem の現在の値のいずれかに等しい文字列が一致する。

Case "everything", "nuts" To "soup", TestItem 

Select Case ステートメントはネスト (入れ子) 構造にすることができる。このとき、各 Select Case ステートメントには、それぞれ対応する End Select ステートメントが必要である。

[MSDNより引用]

 

VBメニュー
トップページ
マネジメント パソコン英語
進学 ・資格 仕事 ・生活 技能ハッピーライフ