忍者ブログ
バイオインフォマティックス技術者試験、情報処理試験など、IT系の試験を基礎から勉強します。また、Javaなどプログラミングを勉強します。

【VBAスタンダード対策】Select Case ステートメントにおける「Is」演算子の条件指定を攻略!

複数条件の分岐をすっきり記述できる Select Case。数値の大小比較を行う場合に使う Is 演算子 の正確な指定ルールと、正しく評価されるための書き方をマスターしましょう。

1. 問題:Select Case での比較演算子と Is の記述ルール

【 問題 】 下記のコードを実行して CheckRank プロシージャを呼び出した際、メッセージボックス(MsgBox)に "B評価" と表示させたい。空欄 ( A ) に入る正しい条件指定の記述はどれでしょうか?

Sub CheckRank()
    Dim score As Integer
    score = 75

    Select Case score
        Case Is >= 80
            MsgBox "A評価"
        Case ( A )
            MsgBox "B評価"
        Case Else
            MsgBox "C評価"
    End Select
End Sub

① score >= 70
② Case >= 70
③ Is >= 70
④ >= 70

2. 正解:Case 節における条件指定の正解

正解: ③ Is >= 70

3. 解説:Case 節で比較演算子(>, <, >=, <= など)を使う場合の構文ルール

Select Case [評価する変数] の構造において、Case 節で「~以上」「~未満」のような比較を行う場合は、必ず Is 演算子 を前に添える必要があります。

[ Select Case における Case 節の書き方一覧 ]

1. 値を直接指定(完全一致):
   Case 70 (※単一の値はそのまま書く)

2. 範囲を指定(~から~まで):
   Case 70 To 79 (※範囲指定キーワード To を使う)

3. 比較演算子を使う(大小比較):
   Case Is >= 70 (※比較演算子の前には必ず Is が必要!)

誤り(①, ②, ④)の理由:
・①(score >= 70):変数名を再度書く必要はありません。
・②(Case >= 70):Case を二重に書くことになりコンパイルエラーとなります。
・④(>= 70):Is を省略して演算子から始めると構文エラーになります。

ここが試験に出る!: スタンダード試験では、VBAエディタ(VBE)の自動補完機能の罠についても問われます。VBEに Case >= 70 と入力すると自動的に Case Is >= 70 に整形されますが、試験の選択肢問題では 「Is が入った正しい構文を理解できているか」 が直接狙われます。


4. まとめ

「Select Case で比較演算子を使うときは Case Is 演算子 値 」。この構文ルールを確実に覚えておけば、多段階の判定や条件分岐を If 文よりも見やすく・ミスなく記述できるようになります。


PR