Excel vbaでifとandを使用するにはどうすればよいですか?
VBA IF ステートメントでAND演算子を使用すると、複数の条件をテストできます。これを使用すると、2 つの条件を同時にテストし、両方の条件が true の場合に true を取得できます。また、いずれかの条件が false の場合、結果として false を返します。
IF AND を結合する
- まず、キーワード「IF」で IF ステートメントを開始します。
- その後、テストする最初の条件を指定します。
- 次に、AND キーワードを使用して 2 番目の条件を指定します。
- 最後に、テストする 2 番目の条件を指定します。
より深く理解するために、例を見てみましょう。
Sub myMacro() If 1 = 1 And 2 > 1 Then MsgBox "Both of the conditions are true." Else MsgBox "Maybe one or both of the conditions are true." End If End Sub
上の例を見ると、2 つの条件を指定しています。1 つは if (1 = 1)、もう 1 つは (2 > 1) で、ここでは両方の条件が true です。そのため、if に指定したコード行が実行されます。結果は真実です。
さて、これら 2 つの条件のいずれかが false の場合、ここでは別のコードを使用してみましょう。
Sub myMacro1() If 1 = 1 And 2 < 1 Then MsgBox "Both of the conditions are true." Else MsgBox "Maybe one or both of the conditions are true." End If End Sub
上記のコードでは、2 番目の条件が false (2 < 1) であり、このマクロを実行すると、結果が false の場合に指定したコード行が実行されます。
IF ANDを使用した複数の条件
同様に、3 つ以上の条件を同時にテストすることもできます。上記の例を続けて、それに 3 番目の条件を追加してみましょう。
Sub myMacro2() If 1 = 1 And 2 > 1 And 1 - 1 = 0 Then MsgBox "All the conditions are true." Else MsgBox "Some conditions are false." End If End Sub
テストする条件が 3 つあり、2 番目の条件の後に AND を使用して 3 番目の条件を指定しました。上記で学んだように、AND を使用する場合、結果が true になるにはすべての条件が true である必要があります。
このコードを実行すると、true に指定したコード行が実行されます。
次のコードで行ったように、いずれかの条件が false の場合は、false を返します。
Sub myMacro3() If 1 = 1 And 2 < 1 And 1 + 1 = 0 Then MsgBox "All the conditions are true." Else MsgBox "Some conditions are false." End If End Sub