【Excel VBA】条件分岐の使い方

VBA

初めに

 「もし〇〇なら××する」このようなときに使うのが条件分岐です。 
 〇〇円以上ご購入の場合は送料無料 等の表現はよく目にすると思いますが そのようなときに役立つコードになります

条件分岐とは

条件分岐は、プログラムが特定の条件を満たすかどうかをチェックし、その結果に応じて異なる処理を行うための構文です。

データの評価、エラーチェック、特定の条件に基づく処理の実行など、さまざまな場面で活用できます。

★下記のような価格表があるとき、価格が2500円以上の場合 C列に”10%割引”と表示する

Sub 割引を適用()
    Dim 価格 As Range
    Dim cell As Range
    
    Set 価格 = Range("B2:B8")

    For Each cell In 価格
        If cell.Value >= 2500 Then
            ' 割引をC列に表示します
            cell.Offset(0, 1).Value = "10%割引"
        End If
    Next cell
End Sub

☆出力結果

複数の条件がある場合、If...ElseIf...Else構文を使うことが一般的です。この構文を使うと、最初の条件が満たされない場合に次の条件を評価し、いずれの条件も満たされない場合に最後のElseブロックが実行されます。

★テストの点数に基づいて評価を表示する場合です。点数が80点以上なら「優」、60点以上なら「良」、40点以上なら「可」、それ以外は「不可」と表示する

Sub 評価を表示()
    Dim rng As Range
    Dim cell As Range
    Set rng = Range("B2:B8") 

    For Each cell In rng
        If cell.Value >= 80 Then
            cell.Offset(0, 1).Value = "優"
        ElseIf cell.Value >= 60 Then
            cell.Offset(0, 1).Value = "良"
        ElseIf cell.Value >= 40 Then
            cell.Offset(0, 1).Value = "可"
        Else
            cell.Offset(0, 1).Value = "不可"
        End If
    Next cell
End Sub

☆出力結果

まとめ

 IfとElse ,ElseIf を使えば 一つだけじゃなく条件が複数ある場合も対応することが可能です。 コードを書く際のヒントになれば 幸いです

コメント

タイトルとURLをコピーしました