大体でIT
大体でIT
Excel VBAで、「If」と「ElseIf」、「Else」を使うと変数やセルの値に応じて、条件分岐することができます。「複数条件」や、「否定の条件」を作ったり、「Ifの中にIf」を使ってネストすることもできます。If文の使い方をマスターしていきましょう。
この記事では、「If」、「ElseIf」、「Else」の使い方について、ご紹介します。
変数やセルの値によって、条件分岐したい場合に使えます。
If文を使う際は、次の方法も覚えておくと、うまく条件分岐することができます。
- 比較演算子
- 複数条件(AndとOr)
- 否定(Notか<>)
- ネストして使う
- 一行で記述
「If」、「ElseIf」、「Else」の使い方をマスターしていきましょう。
では、「If」、「ElseIf」、「Else」の使い方について、解説していきます。
「If」、「ElseIf」、「Else」を使って、条件分岐してみます。
変数が「1」の場合に、「If i = 1 Then」の条件に一致します。
「If」を使う
Sub TEST1()
i = 1
If i = 1 Then
MsgBox "1です"
End If
End Sub
変数が「2」の場合は、「Else」の条件に一致します。
「Else」を使う
Sub TEST2()
i = 2
If i = 1 Then
MsgBox "1です"
Else
MsgBox "1以外です"
End If
End Sub
こんな感じで、「Else」を使って条件分岐できます。
「1」の場合
変数が「1」の場合は、「If i = 1 Then」の条件に一致します。
Sub TEST3()
i = 1
If i = 1 Then
MsgBox "1です"
ElseIf i = 2 Then
MsgBox "2です"
Else
MsgBox "1と2以外です"
End If
End Sub
変数が「1」の場合は、「If i = 1 Then」の条件に一致しました。
「2」の場合
変数が「2」の場合は、「ElseIf i = 2 Then」の条件に一致します。
Sub TEST4()
i = 2
If i = 1 Then
MsgBox "1です"
ElseIf i = 2 Then
MsgBox "2です"
Else
MsgBox "1と2以外です"
End If
End Sub
変数が「2」の場合は、「ElseIf i = 2 Then」の条件に一致しました。
「3」の場合
変数が「3」の場合は、「Else」の条件に一致します。
Sub TEST5()
i = 3
If i = 1 Then
MsgBox "1です"
ElseIf i = 2 Then
MsgBox "2です"
Else
MsgBox "1と2以外です"
End If
End Sub
変数が「3」の場合は、「Else」の条件に一致しました。
- 以上:「>=」
- より大きい:「>」
- 以下:「<=」
- より小さい:「<」
- 一致しない:「<>」
では、それぞれの比較演算子を使って、条件分岐してみます。
「1以上」の条件としたい場合は、「If i >= 1 Then」を使います。
「1以上」とする場合
Sub TEST6()
i = 1
If i >= 1 Then
MsgBox "1以上です"
End If
End Sub
「1より大きい」条件としたい場合は、「If i > 1 Then」を使います。
「1より大きい」とする場合
Sub TEST7()
i = 2
If i > 1 Then
MsgBox "1より大きい"
End If
End Sub
「1以下」の条件としたい場合は、「If i <= 1 Then」を使います。
「1以下」とする場合
Sub TEST8()
i = 1
If i <= 1 Then
MsgBox "1以下です"
End If
End Sub
「1より小さい」条件としたい場合は、「If i < 1 Then」を使います。
「1より小さい」とする場合
Sub TEST9()
i = 0
If i < 1 Then
MsgBox "1より小さい"
End If
End Sub
「1と一致しない」条件としたい場合は、「If i <> 1 Then」を使います。
「1と一致しない」とする場合
Sub TEST10()
i = 2
If i <> 1 Then
MsgBox "1ではない"
End If
End Sub
「複数条件」で分岐する場合、「And」と「Or」が使えます。
「1以上で3以下」の条件としたい場合は、「And」を使います。
「1以上で3以下」とする場合
Sub TEST11()
i = 2
If 1 <= i And i <= 3 Then
MsgBox "1以上かつ3以下です"
End If
End Sub
「1より小さい、もしくは、3より大きい」の条件としたい場合は、「Or」を使います。
「1より小さい、もしくは、3より大きい」とする場合
Sub TEST12()
i = 0
If i < 1 Or 3 < i Then
MsgBox "1より小さい、もしくは、3より大きい"
End If
End Sub
「1より小さい、もしくは、3より大きい」の条件で分岐できました。
否定の条件を使い場合は、「Not」と「<>」があります。
「1ではない」条件としたい場合は、「Not」が使えます。
「1ではない」とする場合
Sub TEST13()
i = 2
If Not i = 1 Then
MsgBox "1以外です"
End If
End Sub
「1ではない」条件としたい場合は、「<>」を使った方がわかりやすいです。
「1ではない」とする場合
Sub TEST14()
i = 2
If i <> 1 Then
MsgBox "1以外です"
End If
End Sub
Ifの中にIfを使って、「1以上で3以下」の条件を作成することができます。
「1以上で3以下」とする場合
Sub TEST15()
i = 2
If i >= 1 Then
If i <= 3 Then
MsgBox "1以上で3以下です"
End If
End If
End Sub
Ifの中にIfを使って、「1以上で3以下」の条件を作成できました。
「一行」で記述する
Sub TEST16()
i = 1
If i = 1 Then MsgBox "1です"
End Sub
この記事では、「If」、「ElseIf」、「Else」の使い方について、ご紹介しました。
変数やセルの値によって、条件分岐したい場合に使えます。
If文を使う際は、次の方法も覚えておくと、うまく条件分岐することができます。
- 比較演算子
- 複数条件(AndとOr)
- 否定(Notか<>)
- ネストして使う
- 一行で記述
「If」、「ElseIf」、「Else」の使い方をマスターしていきましょう。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。