MENU

【初心者向け】VBAのSelect Caseで範囲指定する方法まとめ|To・Isの使い方を解説!

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の違いと注意点

項目ToIs
書き方Case 70 To 89Case 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ならスッキリ書ける

関連記事リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次