Select Caseステートメントは複数の条件を判定する時に使用します。
複数の条件判定はIfステートメントでも可能です。
条件が多くなると可読性が悪くなります。
条件が3以上になる場合はSelect Caseステートメントの使用をお勧めます。
セルA1に遊技機のタイプ名が入力され、そのタイプによってセルの色を変える場合以下のようになります。
Sub 条件分岐1()
Dim KisyuType As String
KisyuType = Range(“A1”).Value
Select Case KisyuType
Case “セブン機”
Range(“A1”).Interior.ColorIndex = 3 ‘セルを赤色
Case “羽根物”
Range(“A1”).Interior.ColorIndex = 5 ‘セルを青色
Case “権利物”
Range(“A1”).Interior.ColorIndex = 6 ‘セルを黄色
Case “一般電役”
Range(“A1”).Interior.ColorIndex = 4 ‘セルを緑色
End Select
End Sub
|
またどの条件にも一致しない場合 Case Else を使用します。
タイプ名がどの条件にも一致しない場合ピンク色になります。
Sub 条件分岐2()
Dim KisyuType As String
KisyuType = Range(“A1”).Value
Select Case KisyuType
Case “セブン機”
Range(“A1”).Interior.ColorIndex = 3 ‘セルを赤色
Case “羽根物”
Range(“A1”).Interior.ColorIndex = 5 ‘セルを青色
Case “権利物”
Range(“A1”).Interior.ColorIndex = 6 ‘セルを黄色
Case “一般電役”
Range(“A1”).Interior.ColorIndex = 4 ‘セルを緑色
Case Else
Range(“A1”).Interior.ColorIndex = 7 ‘セルをピンク色
End Select
End Sub
|
Select Caseステートメントは文字以外の数値でも使用できます。
この場合 Is を使用します。
Sub 条件分岐3()
Dim KisyuType As String
Dim Lng_arari As Long
Lng_arari = 8525 ‘台粗利額
Select Case Lng_arari
Case Is >= 20000
Range(“A1”).Interior.ColorIndex = 3 ‘セルを赤色
Case Is >= 10000
Range(“A1”).Interior.ColorIndex = 5 ‘セルを青色
Case Is >= 5000
Range(“A1”).Interior.ColorIndex = 6 ‘セルを黄色
Case Is >= 1
Range(“A1”).Interior.ColorIndex = 4 ‘セルを緑色
Case Is <= 0
Range(“A1”).Interior.ColorIndex = 7 ‘セルをピンク色
End Select
End Sub
|
台粗利額に応じてセルの色を塗りつぶしています。
20000以上の場合セルを赤色
10000以上の場合セルを青色
5000以上の場合セルを黄色
1以上の場合セルを緑色
0以下の場合セルをピンク色
ただし PS区分がパチンコ and アウトが5000以上 and スタートが6.5以上 のような複数条件ではSelect Caseステートメントでは対応できません。
Ifステートメントの方を使うことになります。
Select Caseステートメント Ifステートメント どちらを使うかはプログラムが複雑にならず可読性が良い方が良いのでその視点で判断して下さい。