目次
条件判定 Select Case
こんにちは。伊川です。今回は、Select Caseについて解説します。条件判定で、処理が複数になる場合は、
Select Caseを利用するのが便利です。
このブログがお勧めの人
・VBAを理解し始めた人
・IF構文で条件判定後の処理が多くて困っている人
Select Caseの構文
Case 1
処理1
Case 2
処理2
Case 3
処理3
End Select
上記のように記載します。処理が多い場合は、このSelect Caseが威力を発揮します。
Select Caseの利用例 その1
セルA1に、仮面ライダーと入力したら、セルB1に、ライダーキック
セルA1に、ウルトラマンと入力したら、セルB1に、スペシウム光線
セルA1に、ガンダムと入力したら、セルB1にビームライフル
セルA1に、それ以外が入力されたら、印籠
こんな条件式を記載したいと思います。
Dim a As String
a = Range(“A1”)Select Case aCase “仮面ライダー”
Range(“B1”) = “ライダーキック”
Case “ウルトラマン”
Range(“B1”) = “スペシウム光線”
Case “ガンダム”
Range(“B1”) = “ビームライフル”
Case Else
Range(“B1”) = “印籠”
End Select
End Sub
上記が、Select Caseを利用した条件判定のコードの書き方です。
If Range(“A1”) = “仮面ライダー” Then
Range(“B1”) = “ライダーキック”
ElseIf Range(“A1”) = “ウルトラマン” Then
Range(“B1”) = “スペシウム光線”
ElseIf Range(“A1”) = “ガンダム” Then
Range(“B1”) = “ビームライフル”
End If
End Sub
上記が、IF構文の書き方です。よく見と、同じようにも見えますが、
慣れてくると、Select Caseのがわかりやすいと思います。
Select Caseの利用例 その2
Select Caseが本当に便利に感じる瞬間を紹介します。
セルA3が、80~100のとき、セルB3に、優です。
セルA3が、70~79のとき、セルB3に、良です。
セルA3が、60~69のとき、セルB3に、可です。
セルA3が、0~59のとき、セルB3に、不可です。
セルA3に0 ~100以外のときは、エラーを表示する。
Sub 範囲()
Dim b As Long
b = Range(“A3”)
Select Case b
Case 80 To 100
Range(“B3”) = “優です。”
Case 70 To 79
Range(“B3”) = “良です。”
Case 60 To 69
Range(“B3”) = “可です。”
Case 0 To 59
Range(“B3”) = “不可です。”
Case Else
MsgBox “点数は 0~100の数字で入力してください”
End Select
End Sub
上記の場合は、このようなコードになります。
エラーの場合
IF構文で、数字の範囲を指定するのは、すごく面倒なのですが、Select Caseは、数字の範囲を指定するのは、すごく簡単です。
まとめ
IF構文とSelect Caseをうまく使い分けて、処理を簡略化しましょう。