【ExcelVBA基礎】IF文の使い方を解説!初心者でも分かる条件分岐の基本について

ExcelVBA

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を使えば複数条件の判定ができる

コメント

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