A子さん「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ならスッキリ書ける

コメント