ExcelVBA(マクロ)で複数条件に条件分岐する方法/Select Case文の使い方

casino IT

Select Caseステートメントでは、特定の変数を基準とし、値によって複数に分岐する処理を書くことができます。

スポンサーリンク

Select Case文の使い方

複数条件に分岐
Select Case 対象
Case 条件1
処理1
Case 条件2
処理2

Case Else
いずれでもない場合の処理
End Select
selectcase1
たとえばこのような実力テストの結果があり、
selectcase2
これを点数によってランク付けしたいとします。
selectcase5
まずはSelect Case Range(“A” & i)と記述し、どこの値を条件分岐の対象にするかを選択します。
selectcase6
次にCase Is >= 81(値が81以上の時)とするか、
selectcase7
またはCase 81 to 100(値が81から100の時)として、最初の条件とその場合の処理を指定します。
selectcase8
同様に、Aの時、Bの時……と処理を下にくっつけていきます。
この場合Sは61以上でもあるし41以上でもあるし21以上でもあるわけですが、先に書いてある条件にかなった場合後の処理は無視されます。
selectcase9
最後にどれでもなかった場合の処理をCase Elseで指定します。
Case Elseは省略可能です。
selectcase10
Select Caseで判定したい条件を書き終えたら、End Selectで閉じ、Nextで繰り返しも閉じます。
selectcase11
式を実行すると、処理が正しく行われていることが確認できました。
' vba
For i = 2 To 9
Select Case Range("A" & i) ' 条件分岐ここから
Case Is >= 81
Range("B" & i).Value = "S"
Case Is >= 61
Range("B" & i).Value = "A"
Case Is >= 41
Range("B" & i).Value = "B"
Case Is >= 21
Range("B" & i).Value = "C"
Case Else
Range("B" & i).Value = "D"
End Select ' 条件分岐ここまで
Next
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント