サイトについて      連絡先   検索

VBA If 文

はじめに

Excel VBA の If 文を使用して条件分岐する方法を紹介します。

If 文には条件が一致する Then と、一致しない Else に分岐できます。

条件が複数あるときは ElseIf でさらに分岐できます。

条件が一致する

If 条件 ThenEnd Ifのようにして、条件が満たされる True のときに If の処理を行います。そうでないときは If の処理は行われません。


Dim i As Integer

i = 0
If i = 0 Then
    ' i が 0 のときのみここの処理が行われます。
    Debug.Print ("i が 0") ' i が 0
End If

i = 2
If i = 0 Then
    ' i が 2 なのでここの処理は行われません。
    Debug.Print ("i が 2")
End If

条件が一致しない

If 条件 ThenElseEnd Ifのようにして、条件が満たされない False のときに Else の処理を行います。


Dim i As Integer

i = 2
If i = 0 Then
    Debug.Print ("Then")
Else
    ' i が 0 以外のときにここの処理が行われます。
    Debug.Print ("Else") ' Else
End If

複数の条件がある

条件が複数あるときは And や Or を使用して条件をまとめられます。

And や Or がわからない方は「演算子」の論理演算子の項目をご覧ください。


Dim i As Integer
i = 0

Dim s As String
s = "Tips"

If i = 0 And s = "Tips" Then
    Debug.Print ("And") ' i が 0「かつ」s が "Tips" のときのみ Then のコードが実行されます。
End If

If i = 0 Or s = "Tips" Then
    Debug.Print ("Or") ' i が 0「または」s が "Tips" のときに Then のコードが実行されます。
End If

ElseIf で If の条件を分けて複数書けます。


Dim i As Integer
i = 0

If i = 1 Then
    Debug.Print ("Then 1")
ElseIf i = 2 Then
    Debug.Print ("Then 2")
ElseIf i = 0 Then
    Debug.Print ("Then 3") ' 一致した条件の Then のコードが実行されます。
Else
    Debug.Print ("Else")
End If

関連ページ