
「Select Caseってスッキリしてて好きなんだけど…80以上100以下
みたいな範囲って、どうやって書けばいいの?」



そんなあなたへ。
この記事では、Select Case
で範囲指定を使う方法をやさしく解説します!
結論:ToとIsを使い分ければOK!
範囲指定には To
が便利!
Is
を使えば「以上」「未満」なども書ける!
目次
Select Caseとは?おさらい
Select Case 変数 Case 条件1 処理1 Case 条件2 処理2 Case Else それ以外の処理 End Select
範囲指定には「To」がおすすめ!
To
を使うと、数値の範囲をスマートに表現できます。
Dim score As Integer score = 85 Select Case score Case 90 To 100 MsgBox "優秀!" Case 70 To 89 MsgBox "合格です" Case Else MsgBox "がんばりましょう" End Select
✅ ここがポイント!
90 To 100
→ 90以上かつ100以下70 To 89
→ 70以上かつ89以下
「Is」で不等号を使う方法
細かく条件を書きたいときは Is
を使います。
Select Case score Case Is >= 90 MsgBox "Sランク" Case Is >= 70 MsgBox "Aランク" Case Else MsgBox "Bランク" End Select
✅ ここがポイント!
Case Is >= 90
のように「Is + 比較演算子」で条件指定- 順番に評価されるため、上から順に広い条件から狭くがコツ
ToとIsの違いと注意点
項目 | To | Is |
---|---|---|
書き方 | Case 70 To 89 | Case Is >= 70 |
範囲 | 開始値〜終了値の閉区間 | 比較演算子で柔軟に指定可能 |
可読性 | 高い(視覚的にわかりやすい) | やや低め(慣れが必要) |
使い分けの目安 | 等間隔の点数やランク分け | それ以外の複雑な条件 |
実用コードサンプル集
【例1】年齢に応じたメッセージ
Dim age As Integer age = 25 Select Case age Case 0 To 12 MsgBox "子ども" Case 13 To 19 MsgBox "ティーン" Case 20 To 64 MsgBox "大人" Case Is >= 65 MsgBox "シニア" End Select
【例2】売上に応じて評価をつける
Dim sales As Long sales = 150000 Select Case sales Case Is >= 200000 MsgBox "SSランク" Case Is >= 100000 MsgBox "Sランク" Case Else MsgBox "ランクなし" End Select
まとめ
To
は 連続した数値の範囲 に便利
Is
は >=, <= などの比較演算子で柔軟に制御
条件が多いときでも、Select Caseならスッキリ書ける
コメント