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

casino IT

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

スポンサーリンク

Select Case文の使い方

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

Case Else
いずれでもない場合の処理
End Select
たとえばこのような実力テストの結果があり、
これを点数によってランク付けしたいとします。
まずはSelect Case Range(“A” & i)と記述し、どこの値を条件分岐の対象にするかを選択します。
次にCase Is >= 81(値が81以上の時)とするか、
またはCase 81 to 100(値が81から100の時)として、最初の条件とその場合の処理を指定します。
同様に、Aの時、Bの時……と処理を下にくっつけていきます。
この場合Sは61以上でもあるし41以上でもあるし21以上でもあるわけですが、先に書いてある条件にかなった場合後の処理は無視されます。
最後にどれでもなかった場合の処理をCase Elseで指定します。
Case Elseは省略可能です。
Select Caseで判定したい条件を書き終えたら、End Selectで閉じ、Nextで繰り返しも閉じます。
式を実行すると、処理が正しく行われていることが確認できました。
' 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やメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント

モバイルバージョンを終了