Vba で case ステートメントを作成する方法 (例あり)


case ステートメントは、条件を循環して最初の条件が満たされたときに値を返すステートメントの一種です。

VBA で case ステートメントを作成するには、次の基本構文を使用できます。

 SubCaseStatement ()

    Dim i As Integer

    For i = 2 To 9
    
       Select Case Range(" B " & i).Value
            Case Is >= 30
                result=" Great "
           Box Is >= 20
                result = " Good "
            Case Is >= 15
                result=" OK "
           Case Else
                result=" Bad "
        End Select
        
        Range(" C " & i).Value = result
        
    Next i
    
End Sub

この特定の例では、範囲B2:B9内の各セルを調べ、範囲C2:C9内の次の値を返します。

  • 列 B の値が 30 以上の場合は「 Excellent 」。
  • それ以外の場合、列 B の値が 20 以上の場合は「良好」になります。
  • それ以外の場合、列 B の値が 15 以上の場合は「 OK 」になります。
  • それ以外の場合、前述の条件がいずれも満たされない場合は「 Bad 」となります。

次の例は、この構文を実際に使用する方法を示しています。

例: VBA での Case ステートメントの作成

さまざまなバスケットボール選手が獲得したポイント数を示す次のデータ セットが Excel にあるとします。

獲得したポイント数に基づいて、各プレーヤーに Excellent、Good、OK、または Poor の値を割り当てる case ステートメントを作成するとします。

これを行うには、次のマクロを作成できます。

 SubCaseStatement ()

    Dim i As Integer

    For i = 2 To 9
    
       Select Case Range(" B " & i).Value
            Case Is >= 30
                result=" Great "
           Box Is >= 20
                result = " Good "
            Case Is >= 15
                result=" OK "
           Case Else
                result=" Bad "
        End Select
        
        Range(" C " & i).Value = result
        
    Next i
    
End Sub

このマクロを実行すると、次の出力が表示されます。

列 C は、列 B の対応する値に基づいて、Excellent、Good、OK、または Poor の値を返します。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: 値のリストを分類する方法
VBA: 範囲内の一意の値を数える方法
VBA: 範囲内の行数をカウントする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です