ExcelのVBA(マクロ)でIf、ElseIf、Else文による複数の条件分岐についてソースコード付きでまとめました。
[latexpage]
複数の条件分岐(If、ElseIf、Else文)
VBA(マクロ)では、「If、ElseIf、Else文」を使うことで1つの条件分岐だけでなく複数の条件分岐を使って処理を分けることが出来ます。
書式
If 条件式① Then 処理① ElseIf 条件式② Then 処理② Else 処理③ End If
条件 | 実行内容 |
---|---|
条件式①が成立した場合 | 処理①を実行 |
条件式①が不成立 & 条件式②が成立 | 処理②を実行 |
条件式①②が不成立 | 処理③を実行 |
まず、条件式①が真であれば処理①を実行して終了します。
偽であった場合は、次の条件式②が真であれば処理②を実行して終了します。(以降Elseまで同じ)
ElseIf文の数だけ条件分岐を増やすことが出来ます。
※どれかの条件式が真となった場合はそれ以降のElseif、Else文はスルーされます。
サンプルコード
以下のプログラムだと条件式(xは10である)が正しいです。
よって、if文内部の処理(メッセージボックスに「xは10である」と表示)が実行されます。
尚、条件式を書くときは「比較演算子」を使うことが多いです。
Sub test() x = 10 If x >= 20 Then MsgBox "xは20以上である" ElseIf x >= 10 Then MsgBox "xは10以上である" ElseIf x >= 0 Then MsgBox "xは0以上である" Else MsgBox "xは0未満である" End If End Sub
2つ目の条件式(xは10である)が正しいので、メッセージボックスには「xは10以上である」と表示されます。
関連ページ
【VBA入門】基礎から作業自動化の応用例まで解説
VBA(マクロ)で様々な処理を自動化する方法をサンプルコード付きで入門者向けにまとめました。
コメント