Vba で if と or を使用するにはどうすればよいですか?
VBA IF ステートメントでOR演算子を使用すると、複数の条件をテストできます。これを使用すると、2 つ以上の条件を同時にテストでき、これらの条件のいずれかが true の場合に true を返します。ただし、すべての条件が false の場合のみ、結果で false を返します。
IF での OR の使用
- まず、キーワード「IF」で IF ステートメントを開始します。
- その後、テストする最初の条件を指定します。
- 次に、OR キーワードを使用して 2 番目の条件を指定します。
- 最後に、テストする 2 番目の条件を指定します。
より深く理解するために、例を見てみましょう。
Sub myMacro() 'two conditions to test using OR If 1 = 1 Or 2 < 1 Then MsgBox "One of the conditions is true." Else MsgBox "None of the conditions are true." End If End Sub
上の例を見ると、2 つの条件が指定されています。1 つは if (1 = 1)、もう 1 つは (2 < 1) です。ここでは最初の条件のみが true であり、たとえそれがコード行を実行したとしてもです。結果が true の場合に指定されます。
ここで、両方の条件が false かどうかを確認してみましょう。ここでは別のコードを使用します。
Sub myMacro() 'two conditions to test using OR If 1 = 2 Or 2 < 1 Then MsgBox "One of the conditions is true." Else MsgBox "None of the conditions are true." End If End Sub
上記のコードでは、両方の条件が false であり、このコードを実行すると、結果が false の場合に指定したコード行が実行されます。
IF ORを使用した複数の条件
同様に、3 つ以上の条件を同時にテストすることもできます。上記の例を続けて、それに 3 番目の条件を追加してみましょう。
Sub myMacro() 'three conditions to test using OR If 1 = 1 And 2 > 1 And 1 - 1 = 0 Then MsgBox "one of the conditions is true." Else MsgBox "none of the conditions are true." End If End Sub
テストする条件が 3 つあり、2 番目の条件の後に OR を使用して 3 番目の条件を指定しました。上記で学んだように、OR を使用する場合、結果が true になるには条件の 1 つが true である必要があります。このコードを実行すると、true に指定したコード行が実行されます。
次のコードのように、すべての条件が false の場合は、false を返します。
Sub myMacro() 'three conditions to test using OR If 1 < 1 And 2 < 1 And 1 + 1 = 0 Then MsgBox "one of the conditions is true." Else MsgBox "none of the conditions are true." End If End Sub