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 で他の一般的なタスクを実行する方法について説明します。