Search
Close this search box.

Logical Operator


Logical operators are used to combine multiple conditions and evaluate them to determine a final result. They are essential for creating complex decision-making processes in your VBA code.

Here are the main logical operators in VBA:

  • And: Returns True if both conditions are True.
  • Or: Returns True if at least one condition is True.
  • Not: Reverses the logical value of a condition. 
  • Xor: Returns True if one condition is True, but not both.
AND

Syntax:

Purpose: Returns True only if both conditions are True.

expression1 And expression2

				
					Sub equalto_demo()
    If (x > 10) And (y < 20) Then
        MsgBox "Both conditions are true"
    End If
End Sub
				
			

Example

Syntax:

Purpose: Returns True if at least one condition is True.

expression1 Or expression2

				
					Sub notequalto_demo()
Dim x As Integer
x = 15
y = 25
   
    If (x > 10) Or (y < 20) Then
        MsgBox "At least one condition is true"
    End If
End Sub
				
			

Example

Syntax:

Purpose: Reverses the logical value of an expression.

expression1 Not expression2

				
					Sub lessthan_demo()
    If Not (x = 10) Then
        MsgBox "x is not equal to 10"
    End If
End Sub
				
			

Example

Syntax:

Purpose: Returns True if one condition is True but not both.

expression1 > expression2

				
					Sub lessthan_demo()
Dim x As Integer
x = 15
y = 25
    
    If 20 > 10 Then
        MsgBox "20 is greater than 10"
    End If
End Sub
				
			

Example

Syntax:

Purpose: You can combine multiple logical operators to create more complex conditions.

<expression1 And expression2> Or <expression3>

				
					Sub lessthan_demo()
    If 10 <= 10 Then
        MsgBox "10 is less than or equal to 10"
    End If
End Sub
				
			

Example

Difference Between OR and XOR

While both OR and XOR are logical operators used to combine conditions, they have distinct behaviors:

OR Operator (||)
  • Returns True if at least one condition is True.
  • Truth Table: | A | B | A OR B | |—|—|—| | False | False | False | | False | True | True | | True | False | True | | True | True | True |
XOR Operator (^)
  • Returns True if exactly one condition is True.
  • Truth Table: | A | B | A XOR B | |—|—|—| | False | False | False | | False | True | True | | True | False | True | | True | True | False |
Key Difference:

The main difference between OR and XOR lies in the case where both conditions are True. In the case of OR, the result is True, while in the case of XOR, the result is False. 

By understanding these differences, you can effectively use logical operators to create complex conditional expressions in your VBA code.