大体で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」の使い方

目次

If、ElseIf、Elseを使う

「If」、「ElseIf」、「Else」を使って、条件分岐してみます。

Ifを使う

変数が「1」の場合に、「If i = 1 Then」の条件に一致します。

「If」を使う

Sub TEST1()
    
    i = 1
    
    If i = 1 Then
        MsgBox "1です"
    End If
    
End Sub

実行してみます。

変数が「1」の場合に、「If i = 1 Then」の条件に一致します

こんな感じで、「If」を使えます。

Elseを使う

変数が「2」の場合は、「Else」の条件に一致します。

「Else」を使う

Sub TEST2()
    
    i = 2
    
    If i = 1 Then
        MsgBox "1です"
    Else
        MsgBox "1以外です"
    End If
    
End Sub

実行してみます。

変数が「2」の場合は、「Else」の条件に一致します

こんな感じで、「Else」を使って条件分岐できます。

ElseIfを使う

「ElseIf」を使って、条件分岐してみます。

「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」の条件に一致します

変数が「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」の条件に一致します

変数が「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」の条件に一致します

変数が「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以上」の条件で分岐できました。

より大きい

「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より大きい」条件で分岐できました。

以下

「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以下」の条件で分岐できました。

より小さい

「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より小さい」条件で、分岐できました。

一致しない 

「1と一致しない」条件としたい場合は、「If i <> 1 Then」を使います。

「1と一致しない」とする場合

Sub TEST10()
    
    i = 2
    
    If i <> 1 Then
        MsgBox "1ではない"
    End If
    
End Sub

実行してみます。

「1と一致しない」条件としたい場合は、「If i <> 1 Then」を使います

「1と一致しない」条件で分岐できました。

複数条件で分岐する

「複数条件」で分岐する場合、「And」と「Or」が使えます。

AND条件を使う

「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以下」の条件としたい場合は、「And」を使います

「1以上で3以下」の条件で、分岐できました。

OR条件を使う

「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より大きい」の条件としたい場合は、「Or」を使います

「1より小さい、もしくは、3より大きい」の条件で分岐できました。

否定を使う

否定の条件を使い場合は、「Not」と「<>」があります。

Notを使う

「1ではない」条件としたい場合は、「Not」が使えます。

「1ではない」とする場合

Sub TEST13()
    
    i = 2
    
    If Not i = 1 Then
        MsgBox "1以外です"
    End If
    
End Sub

実行してみます。

「1ではない」条件としたい場合は、「Not」が使えます

「1ではない」条件で分岐できました。

「<>」を使う

「1ではない」条件としたい場合は、「<>」を使った方がわかりやすいです。

「1ではない」とする場合

Sub TEST14()
    
    i = 2
    
    If i <> 1 Then
        MsgBox "1以外です"
    End If
    
End Sub

実行してみます。

「1ではない」条件としたい場合は、「<>」を使った方がわかりやすいです

「1ではない」条件で、分岐できました。

Ifをネストする

「If」をネストして使ってみます。

Ifの中にIfを使う

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以下」の条件を作成することができます

Ifの中にIfを使って、「1以上で3以下」の条件を作成できました。

If文を一行で記述する

If文を一行で記述してみます。

Ifだけならできる

Ifだけなら一行で記述することができます。

「一行」で記述する

Sub TEST16()
    
    i = 1
    
    If i = 1 Then MsgBox "1です"
    
End Sub

実行してみます。

Ifだけなら一行で記述することができます

一行で記述することができました。

おわりに

この記事では、「If」、「ElseIf」、「Else」の使い方について、ご紹介しました。

変数やセルの値によって、条件分岐したい場合に使えます。

If文を使う際は、次の方法も覚えておくと、うまく条件分岐することができます。

  • 比較演算子
  • 複数条件(AndとOr)
  • 否定(Notか<>)
  • ネストして使う
  • 一行で記述

という感じです。

「If」、「ElseIf」、「Else」の使い方をマスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す