VBA入門② No.6 条件分岐(複数) 「Select Case〜」

  • VBAでの条件分岐
  • 複数の条件により処理を分岐させたい場合、if文を利用するよりSelect Caseを利用した方が綺麗なコードを書くことができます

文法

Select Case 変数
    Case1
        変数=1の場合の処理
    Case2
        変数=2の場合の処理
    Case Else
       条件が満たされなかった場合の処理
End Select

サンプル

  • 変数(myInt)の値によって、処理を振り分けるプログラムです
  • VBAは上から順番に処理されるので、下の場合は「Case Is >= 80」が最優先の条件となります
Option Explicit
Sub mySelect()
    Dim myInt As Integer  '検索対象の変数を宣言
    myInt = 79            '変数に値を格納
    
    Select Case myInt     '検索対象の変数を指定
        Case Is >= 80                           '変数(myInt)が80以上の場合
            MsgBox "myIntは80以上です"
        Case Is >= 60                           '変数(myInt)が60以上の場合
            MsgBox "myIntは60以上,79以下です"
        Case Is >= 40                           '変数(myInt)が40以上の場合
            MsgBox "myIntは40以上,59以下です"
        Case Is >= 20                           '変数(myInt)が20以上の場合
            MsgBox "myIntは20以上,39以下です"
        Case Is >= 0                            '変数(myInt)が0以上の場合
            MsgBox "myIntは0以上,19以下です"
        Case Else
            MsgBox "整数ではありません"
    End Select
End Sub