VBAのIf文とは? 基本的な使い方と構文解説

VBA(Visual Basic for Applications)では、特定の条件に応じて処理を分岐させるためにIf文を使用します。If文を適切に使うことで、より柔軟なプログラムを作成できます。本記事では、If文の基本的な使い方や構文について解説します。

1. If文とは?

If文は、「もし○○ならば△△を実行する」という条件分岐を行うための構文です。
たとえば、「あるセルの値が100以上ならメッセージを表示する」といった処理を実装できます。

2. If文の基本構文

VBAのIf文には、いくつかの書き方があります。まずは基本の構文を見てみましょう。

(1) 単純なIf文

If 条件 Then
    '条件がTrueのときに実行する処理
End If

例:セルA1の値が100以上ならメッセージを表示

Sub SampleIf()
    If Range("A1").Value >= 100 Then
        MsgBox "A1の値は100以上です"
    End If
End Sub

(2) If~Else文

If 条件 Then
    '条件がTrueのときに実行する処理
Else
    '条件がFalseのときに実行する処理
End If

例:セルA1の値に応じて異なるメッセージを表示

Sub SampleIfElse()
    If Range("A1").Value >= 100 Then
        MsgBox "A1の値は100以上です"
    Else
        MsgBox "A1の値は100未満です"
    End If
End Sub

(3) If~ElseIf~Else文

If 条件1 Then
    '条件1がTrueのときの処理
ElseIf 条件2 Then
    '条件2がTrueのときの処理
Else
    'どの条件にも当てはまらない場合の処理
End If

例:点数に応じてランクを表示

Sub SampleIfElseIf()
    Dim score As Integer
    score = Range("A1").Value

    If score >= 80 Then
        MsgBox "ランクA"
    ElseIf score >= 60 Then
        MsgBox "ランクB"
    Else
        MsgBox "ランクC"
    End If
End Sub

※ If文で条件が複数に分かれており、かつ条件1(If)と条件2(ElseIf)がTrueの場合は、条件1のみが実行され以下は処理されない。

🔵1つのIf文の中で実行される処理は最大1つのみ

3. If文の応用

(1) 複数条件を使う(And / Or)

If 条件1 And 条件2 Then
    '両方の条件がTrueのときに実行
End If

If 条件1 Or 条件2 Then
    'どちらかの条件がTrueのときに実行
End If

例:セルA1の値が50以上かつセルB1の値が100以上ならメッセージを表示

Sub SampleIfAnd()
    If Range("A1").Value >= 50 And Range("B1").Value >= 100 Then
        MsgBox "条件を満たしています"
    End If
End Sub

(2) If文を1行で書く(ワンライナー)

VBAでは簡単なIf文を1行で書くこともできます。

If 条件 Then 処理

例:セルA1の値が100以上ならメッセージを表示(1行バージョン)

Sub SampleOneLineIf()
    If Range("A1").Value >= 100 Then MsgBox "A1は100以上"
End Sub

4. まとめ

  • If文は条件分岐を行うための基本構文
  • 単純なIf文、If~Else、If~ElseIf~Elseを使い分ける
  • And・Orを使うことで複数の条件を組み合わせられる
  • シンプルな処理は1行で書くことも可能

VBAでプログラムを組む上でIf文は非常に重要な役割を持ちます。しっかり理解して、実践で活用できるようになりましょう!

コメント

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