Los tres más utilizados operadores lógicos en Excel VBA son: Y, O y NO. Como siempre, vamos a utilizar ejemplos fáciles de hacer las cosas más claras.

operador lógico y

Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:

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

Explicación: si SCORE1 es mayor o igual a 60 y score2 es mayor que 1, los rendimientos de Excel VBA pasan, de lo contrario retorna Excel VBA fallan.

Como resultado al hacer clic en el botón de comando en la hoja:

Excel VBA Logical Operator And

Conclusión: los rendimientos de Excel VBA fracasan porque score2 no es mayor que 1.

operador lógico OR

Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:

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

Explicación: si SCORE1 es mayor o igual a 60 o score2 es mayor que 1, los rendimientos de Excel VBA pasan, de lo contrario retorna Excel VBA fallan.

Como resultado al hacer clic en el botón de comando en la hoja:

Excel VBA Logical Operator Or

Conclusión: los rendimientos de Excel VBA pasan porque SCORE1 es mayor o igual a 60.

Operador lógico no

Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:

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

Explicación: si SCORE1 es mayor que o igual a 60 y score2 no es igual a 1, regresa Excel VBA pasan, de lo contrario retorna Excel VBA fallan.

Como resultado al hacer clic en el botón de comando en la hoja:

Excel VBA Logical Operator Not

Conclusión: los rendimientos de Excel VBA fracasan porque score2 es igual a 1.