Excel

【Excel】VBAマクロで条件分岐(複数条件、OR、AND)する方法【かつ、または、If、ElseIf】

当サイトでは記事内に広告を含みます

この記事では、ExcelのVBAマクロを用いた条件分岐の方法について解説していきます。

特に「複数条件を用いたOR条件分岐」と「AND条件分岐」の実装方法にフォーカスしています。

ポイントとしては`If`文と`ElseIf`文を使用することです。

これらを使って、条件に応じた処理を行う方法を詳しく見ていきましょう。

変数名は日本語表記をローマ字にしたような表現にしていますが、実際にご利用の際は英語表記でしっくりくる名称に変更してください。

それでは、詳細な解説を始めましょう。

 

VBAマクロで条件分岐(複数条件、OR)する方法

それではまず、「複数条件を用いたOR条件分岐」について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub KondishonBunkiOr()
    Dim goukei As Integer
    goukei = 0
    For i = 2 To ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count, 2).End(xlUp).Row
        If Cells(i, 2).Value = "ごりら" Or Cells(i, 2).Value = "らっぱ" Then
            goukei = goukei + 3
        ElseIf Cells(i, 2).Value = "パセリ" Then
            goukei = goukei + 2
        Else
            goukei = goukei + 10
        End If
    Next i
    MsgBox "合計: " & goukei
End Sub

コードのAlt+F8を押し、マクロ選択画面で`KondishonBunkiOr`関数を実行します。

このコードでは、B列の値に応じて、`goukei`変数に異なる値を加算しています。B列が「ごりら」または「らっぱ」の場合は3を加え、それ以外で「パセリ」なら2を、それ以外の場合は10を加えています。

VBAマクロで条件分岐(複数条件、AND)する方法

続いては、「複数条件を用いたAND条件分岐」について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub KondishonBunkiAnd()
    Dim goukei As Integer
    goukei = 0
    For i = 2 To ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count, 2).End(xlUp).Row
        If Cells(i, 2).Value = "ごりら" And Cells(i, 3).Value = "うさぎ" Then
            goukei = goukei + 4
        ElseIf Cells(i, 2).Value = "ヨット" Then
            goukei = goukei + 6
        Else
            goukei = goukei + 8
        End If
    Next i
    MsgBox "合計: " & goukei
End Sub

コードのAlt+F8を押し、マクロ選択画面で`KondishonBunkiAnd`関数を実行します。

このコードでは、B列とC列の値をAND条件で組み合わせ、`goukei`変数に異なる値を加算しています。B列が「ごりら」かつC列が「うさぎ」の場合は4を加え、B列が「ヨット」の場合は6を、それ以外の場合は8を加えています。