VBA SI NO

SI NO EN VBA

Las funciones lógicas son útiles para los cálculos que requieren múltiples condiciones o criterios para probar. En nuestros artículos anteriores, hemos visto las condiciones "VBA IF", "VBA OR" y "VBA AND". En este artículo, discutiremos la función "VBA SI NO". Antes de presentar la función VBA SI NO, déjeme mostrarle primero la función VBA NO.

¿Qué NO es función en VBA?

"NO" es una de las funciones lógicas que tenemos con excel y VBA. Todas las funciones lógicas requieren que se realicen pruebas lógicas y devuelvan VERDADERO si la prueba lógica es correcta, si la prueba lógica no es correcta, devolverá FALSO como resultado.

Pero "VBA NOT" es completamente opuesto a la otra función lógica. Diría que esta es la función inversa de las funciones lógicas.

La función "VBA NOT" devuelve "FALSE" si la prueba lógica es correcta y si la prueba lógica no es correcta, devolverá "TRUE". Ahora, observe la sintaxis de la función "VBA NOT".

NO (prueba lógica)

Esto es muy simple, necesitamos proporcionar la prueba lógica. La función NO evalúa la prueba y devuelve el resultado.

Ejemplos de función NOT & IF en VBA?

A continuación se muestran los ejemplos del uso de la función IF y NOT en Excel VBA.

Puede descargar esta plantilla de VBA SI NO Excel aquí - VBA SI NO Plantilla de Excel

Ejemplo 1

Eche un vistazo al siguiente código para ver un ejemplo.

Código:

 Sub NOT_Example () Dim k As String k = Not (100 = 100) MsgBox k End Sub 

En el código anterior, he declarado la variable como String.

 Dim k como cadena 

Luego, para esta variable, he asignado la función NO con la prueba lógica como 100 = 100.

k = No (100 = 100)

Luego he escrito el código para mostrar el resultado en el cuadro de mensaje de VBA. MsgBox k

Ahora ejecutaré el código y veré el resultado.

Obtuvimos el resultado como "FALSO".

Ahora mire hacia atrás en la prueba lógica. Hemos proporcionado la prueba lógica como 100 = 100 que generalmente es VERDADERO ya que le habíamos dado la función NO obtuvimos el resultado como FALSO. Como dije, al principio, da resultados inversos en comparación con otras funciones lógicas. Dado que 100 es igual a 100, ha devuelto el resultado como FALSO.

Ejemplo # 2

Ahora, mire un ejemplo más con diferentes números.

Código:

 Sub NOT_Example () Dim k As String k = Not (85 = 148) MsgBox k End Sub 

El código es el mismo, lo único que he cambiado aquí es que he cambiado la prueba lógica de 100 = 100 a 85 = 148.

Ahora ejecutaré el código y veré cuál es el resultado.

Esta vez obtuvimos el resultado como VERDADERO. Ahora examine la prueba lógica.

k = No (85 = 148)

Todos sabemos que 85 no es igual al número 148. Dado que no es igual, la función NOT ha devuelto el resultado como VERDADERO.

NO con la condición IF:

En Excel o VBA, las condiciones lógicas no están completas sin la condición IF de combinación. Usando IF en la condición de Excel podemos hacer muchas más cosas más allá de TRUE o FALSE por defecto. Por ejemplo, en los ejemplos anteriores obtuvimos resultados predeterminados de FALSO y VERDADERO, en lugar de eso, podemos modificar el resultado con nuestras propias palabras.

Mira el siguiente código.

Código:

 Sub NOT_Example2 () Dim Número1 como cadena Dim Número2 como cadena Número1 = 100 Número2 = 100 Si no (Número1 = Número2) Entonces MsgBox "El número 1 no es igual al número 2" Else MsgBox "El número 1 es igual al número 2" Fin si End Sub 

He declarado dos variables.

 Dim Number1 como cadena y Dim Number2 como cadena 

Para estas dos variables, he asignado los números como 100 y 100 respectivamente.

Número1 = 100 y Número2 = 100

Luego, para la función NO, he adjuntado la condición IF para modificar el valor predeterminado VERDADERO o FALSO. Si el resultado de la función NO es VERDADERO, mi resultado será el siguiente.

MsgBox "El número 1 no es igual al número 2"

Si el resultado de la función NO es FALSO, entonces mi resultado es el siguiente.

MsgBox "El número 1 es igual al número 2"

Ahora ejecutaré el código y veré qué sucede.

Obtuvimos el resultado como "El número 1 es igual al número 2", por lo que la función NO ha devuelto el resultado FALSO a la condición SI, por lo que la condición SI devolvió este resultado.

De esta manera, podemos usar la condición SI para hacer la prueba inversa.