ExcelVBAを学び始めると必ず出てくるのが IF文(条件分岐) です。
IF文は言葉の通りで「もし〇〇なら△△する、それ以外なら□□する」といった処理を実現できます。
この記事では、IF文の基本構文から、複数条件の書き方、実務での活用例まで解説します。
IF文の基本構文
まずは一番シンプルなIF文の流れはこうなっています。

例:セルA1が100以上なら、セルB1に「合格」と表示
If Range("A1").Value >= 100 Then
Range("B1").Value = "合格"
End If
[Else]を使った条件分岐
次に「Else」を使用して、条件を満たしていない場合の処理を追加して、条件分岐をします。

例:セルA1が100以上なら「合格」、それ以外は「不合格」をセルB1に表示
If Range("A1").Value >= 100 Then
Range("B1").Value = "合格"
Else
Range("B1").Value = "不合格"
End If
[ElseIf]で複数条件を判定
次に「ElseIf」を使用することによって、条件を2つ以上指定することができます。

例:セルA1の点数によってセルB1の評価を変える
Dim score As Integer
score = Range("A1").Value
If score >= 80 Then
Range("B1").Value = "優"
ElseIf score >= 60 Then
Range("B1").Value = "良"
ElseIf score >= 40 Then
Range("B1").Value = "可"
Else
Range("B1").Value = "不可"
End If
[AND・OR]複数条件を組み合わせる
◆AND条件(両方満たす場合)
「AND」で両方の条件を満たす場合に処理を実行することができます

例:セルA1が60以上かつ(AND)、セルB1が出席の場合、セルC1に合格と表示
If Range("A1").Value >= 60 And Range("B1").Value = "出席" Then
Range("C1").Value = "合格"
End If
◆OR条件(どちらか満たす場合)
「OR」でどちらかが条件を満たす場合、またはどちらも満たす場合に処理を実行することができます。

例:セルA1が80以上または、セルB1が特別枠の場合は、セルC1に合格と表示
If Range("A1").Value >= 80 Or Range("B1").Value = "特別枠" Then
Range("C1").Value = "合格"
End If
実務でよくあるIF文の活用例
1.セルの値によって色を変える
If Range("A1").Value < Date Then
Range("A1").Interior.Color = vbRed
End If
2.入力チェック(空白ならエラー表示)
If Range("A1").Value = "" Then
MsgBox "A1に値を入力してください", vbExclamation
End If
3.複数セルを一括判定
Dim rng As Range
For Each rng In Range("A1:A10")
If rng.Value = "" Then
rng.Interior.Color = vbYellow
End If
Next rng
まとめ
- IF文は「条件分岐」の基本構文
- Else, ElseIfを組み合わせて複雑な処理も可能
- AND, ORを使えば複数条件の判定ができる


コメント