Vbaでif notを使用するにはどうすればよいですか?
VBA では、 IF ステートメントを使用すると、テストするために指定した条件が TRUE の場合にコード行が実行されます。ただし、IF で NOT 演算子を使用すると、指定した条件が TRUE でないかどうかがチェックされ、それに基づいてコードが実行されます。
これは、反対の IF ステートメント、つまり TRUE から FALSE、FALSE から TRUE を実行するようなものです。
A < B かどうかをテストしたいとします。この条件が true の場合、IF は TRUE を返しますよね。ただし、IF NOT A < B を使用すると、FALSE が返されます。
注: NOT は論理演算子です。
VBA IF NOT の使用例
ここでそれを理解するための簡単な例を見てみましょう。
Sub myMacro() Dim A As Range, B As Range Set A = Range("A1") Set B = Range("B1") If Not A < B Then MsgBox "A is not greater than B." Else MsgBox "B is not greater than A." End If End Sub
上記のコードでは、NOT 演算子を使用して、B が A より大きくないかどうかをテストしました。
条件ステートメントを見ると、実際にテストされる条件は B が A より大きいかどうかであることがわかりますが、NOT ステートメントを使用しているため、条件が TRUE の場合は FALSE が返されます。
これを理解するために使用できる別の例を示します。
Sub myMacro() If Not ActiveSheet.Name = Sheets("Sheet1").Name Then Sheets("Sheet1").Activate End If End Sub
このコードでは、 IF で NOT を使用して、アクティブなシートが Sheet1 であるかどうかを確認し、そうでない場合は、指定したコード行でSheet1 をアクティブにします。