要点まとめ
1. 複数条件の判断が可能
通常の If 条件式 Then … Else … End If に加えて、複数の条件を順にチェックできる書式として、ElseIf を使った構文があります。
書式例:
If 条件式1 Then
条件式1が True の時の処理
ElseIf 条件式2 Then
条件式2が True の時の処理
ElseIf 条件式3 Then
条件式3が True の時の処理
Else
いずれの条件式も False の時の処理
End If
``` :contentReference[oaicite: 2 ]{index = 2 }
VB
2. 処理の流れ・注意点
最初に “条件式1” が評価され、True だったらその処理を実行し、以降の ElseIf は評価されずに End If の次に処理が移ります。
条件式1 が False の場合、次に “条件式2” が評価され… という順番です。
“条件式3” も同様、最後まで条件が False の場合に Else の処理(省略可能)に入ります。
流れとして、一つの条件が True になった時点で他の条件の評価はスキップされるので、条件式の記述順 が結果に影響を与える点に注意が必要です。
また、If 文の中にさらに If 文(ネスト)を記述して、より複雑な条件分岐を行うことも可能です(このページでは簡略的に触れられています)。
3. サンプルコードと動作の例
Option Explicit
Sub テスト()
Dim result As Integer
result = Range ( "B2" ).Value
If result > 70 Then
MsgBox "合格です"
ElseIf result > 50 Then
MsgBox "追加レポートが必要です"
Else
MsgBox "不合格です"
End If
End Sub
``` :contentReference[oaicite: 7 ]{index = 7 }
VB
解説:
セル B2 の値を取得。
70 より大きければ “合格です”。
70 以下(=最初の条件 False)で、かつ 50 より大きければ “追加レポートが必要です”。
それ以外(50 以下)なら “不合格です”。
例として B2 に 64 を入れた場合、70 より大きくないが 50 より大きいので “追加レポートが必要です” が表示されます。
B2 に 45 を入れると、いずれの条件も True にならず “不合格です” の処理が実行されます。
4. まとめ
If … ElseIf … Else … End If の構文を使うことで、ひとつの If 文の中で複数の条件分岐 を記述できます。
条件の優先順(記述の順)や早期脱出 (一つ True ならそれ以降を評価しない)を理解しておくことが重要です。
ケースに応じて Else を省略することも可能ですが、必要に応じて “どれにも当てはまらない” 場合の処理を考えておくと安心です。
より細かい条件分岐が必要な場合には、ネストした If を使う選択肢もあります。