Select Caseステートメント

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ステートメント どちらを使うかはプログラムが複雑にならず可読性が良い方が良いのでその視点で判断して下さい。