条件分岐Select Case

 

構文


Select Case 変数 
  Case 値1
        変数=値1の場合の処理
    Case 値2
        変数=値2の場合の処理
    Case Else
       変数=値1、変数=値2を満たさなかった場合の処理
End Select
 

 

サンプル

Sub test()
   ’上中下旬判定用
    Dim MyDate As Integer
    
    MyDate = InputBox("ひにちを入力してください")
    
    Select Case MyDate
        Case 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
            MsgBox "上旬です。"
        Case 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
            MsgBox "中旬です。"
        Case 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
            MsgBox "下旬です。"
        Case Else
            MsgBox "入力が不正です。"
    End Select
End Sub

 

 

 

Isで比較条件を指定する場合

 

構文

Case Is > 値 あるいは Case Is < 値

 

 

 

Sub test2()
    Dim Score As Integer
    Score = InputBox("点数を入力してください")
    Select Case Score
        Case Is >= 90
            MsgBox "秀(S)です。"
        Case Is >= 80
            MsgBox "優(A)です。"
        Case Is >= 70
            MsgBox "良(B)です。"
        Case Is >= 60
            MsgBox "可(C)です。"
        Case Else
            MsgBox "不合格(F)です。"
    End Select
End Sub

 

 

範囲による分岐処理

 

Select Case 変数
    Case 範囲1
        変数が範囲1の場合の処理
    Case 範囲2
        変数が範囲2の場合の処理
    Case Else
        変数が範囲1と範囲2なかった場合の処理
End Select

 

 

 

サンプル

Sub test2()
    Dim MyAge As Integer
    MyAge = InputBox("年齢を入力してください")
    
    Select Case MyAge
        Case 0 To 4
            MsgBox "幼年です。"

        Case 5 To 14
            MsgBox "少年です。"

        Case 15 To 29
            MsgBox "青年です。"

        Case 30 To 39
            MsgBox "壮年です。"

        Case 40 To 54
            MsgBox "中年です。"

        Case 55 To 64
            MsgBox "熟年です。"

        Case 65 To 69
            MsgBox "高年です。"

        Case Else
            MsgBox "老年です。"
    End Select
End Sub

 

 

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る