エクセルVBAの三の大使用する論理演算子は以下のとおりです。AND、ORとされていません。いつものように、私たちは、物事をより明確にするために簡単な例を使用します。

論理演算子と

ワークシート上のコマンドボタンを配置し、次のコード行を追加します。

Dim score1 As Integer, score2 As Integer, result As String

score1 = Range("A1").Value

score2 = Range("B1").Value

If score1 >= 60 And score2 > 1 Then

result = "pass"

Else

result = "fail"

End If

Range("C1").Value = result

説明:SCORE1がより大きいまたは60に等しく、score2が1より大きい場合、エクセルVBAの戻りは合格、他のエクセルVBAの戻りは失敗します。

あなたはシート上のコマンドボタンをクリックすると、結果:

Excel VBA Logical Operator And

結論:score2が1よりも大きくないので、エクセルVBAの戻りが失敗

論理演算子OR

ワークシート上のコマンドボタンを配置し、次のコード行を追加します。

Dim score1 As Integer, score2 As Integer, result As String

score1 = Range("A1").Value

score2 = Range("B1").Value

If score1 >= 60 Or score2 > 1 Then

result = "pass"

Else

result = "fail"

End If

Range("C1").Value = result

説明:SCORE1がより大きくなるか、60かscore2に等しい1より大きい場合、エクセルVBAの戻りは他のエクセルVBAの戻りが失敗し、合格します。

あなたはシート上のコマンドボタンをクリックすると、結果:

Excel VBA Logical Operator Or

結論:SCORE1が60以上であるため、エクセルVBA戻りが通過

論理演算子ではない

ワークシート上のコマンドボタンを配置し、次のコード行を追加します。

Dim score1 As Integer, score2 As Integer, result As String

score1 = Range("A1").Value

score2 = Range("B1").Value

If score1 >= 60 And Not score2 = 1 Then

result = "pass"

Else

result = "fail"

End If

Range("C1").Value = result

説明:SCORE1が60に等しいとscore2が1に等しくないかよりも大きければ、エクセルVBAの戻りは合格、他のエクセルVBAの戻りは失敗します。

あなたはシート上のコマンドボタンをクリックすると、結果:

Excel VBA Logical Operator Not

結論:score2は1に等しいので、エクセルVBAの戻りは失敗