Excel VBA IF declaraciones

La instrucción IF en el código VBA es una de las más utilizadas y le permite elegir. La función IF en VBA es diferente en comparación con la función EXCEL IF, es decir, en Excel, la función IF o la fórmula verifican si la condición o los criterios dados se evalúan como VERDADERO o FALSO y luego devuelve un valor basado en la evaluación, mientras que la declaración VBA IF solo realizará la primera mitad de la declaración, es decir, verifique si la condición se evalúa como VERDADERA o FALSA, además, la declaración ENTONCES debe ingresarse en la declaración IF de VBA para que la operación o tarea restante se realice.

Tres parámetros que debe tener en cuenta o tener en cuenta al escribir el código de declaración VBA IF.

  • Una condición o parámetro para probar.
  • Una operación o tarea a realizar si la condición es VERDADERA.
  • Una operación o tarea a realizar si la condición es FALSA

Es una declaración de toma de decisiones que se utiliza para ejecutar un bloque de código.

Realiza una tarea u operación cuando una condición es VERDADERA, de lo contrario no hace nada o hace otra cosa. Por lo general, una declaración if consiste en una expresión booleana seguida de declaraciones (puede ser una o varias).

Simple a la condición compleja se puede escribir en la declaración VBA IF.

A continuación se muestran los diferentes tipos de declaraciones IF de VBA con su sintaxis y ejemplos.

Tipos de declaraciones IFSintaxis
SI ENTONCESSi entonces (declaración)

Terminara si

SI MÁSSi entonces (Declaración1)

Más:

(Declaración2)

Terminara si

SI ELSEIFSI entonces

(Declaración1)

ELSEIF Entonces

(Declaración2)

Terminara si

ELSE Y ELSEIF

(La declaración ELSEIF debe venir primero, después de eso ELSE)

SI (condición1 es verdadera) Entonces

(Declaración1)

ELSEIF (condición2 es verdadera) Entonces

(Declaración2)

MÁS

(Declaración3)

Terminara si

SI SIN ENDIF

(solo código de línea)

Se usa cuando no se usa la instrucción ELSE o ELSE IF

SI (la condición es verdadera) Entonces (Declaración)

Además de la declaración anterior, también se puede usar la declaración NESTED IF, es decir, una declaración if o ELSEIF dentro de otra declaración if o ELSEIF.

¿Cómo usar declaraciones IF en Excel VBA?

Aprenderemos los tipos y cómo usar las declaraciones IF de VBA con algunos ejemplos en Excel.

Puede descargar esta plantilla Excel de declaraciones VBA IF aquí - Plantilla Excel de declaraciones VBA IF
  • Abra una ventana de VB Editor. Seleccione o haga clic en Visual Basic en el grupo Código en la pestaña Desarrollador o puede hacer clic directamente en la tecla de acceso directo Alt + F11 .

  • Esto nos llevará a la ventana de codificación de Visual Basic. Ahora vaya al menú Insertar desde la ventana VBA y seleccione Módulo como se muestra a continuación.

  • Ahora que se crea el módulo en blanco, también se llama ventana de código, donde puede comenzar a escribir códigos de instrucciones.

Declaración de VBA SI ENTONCES - Ejemplo # 1

SI ENTONCES es una forma simple de declaración VBA. El formato para escribir un código es:

Si entonces

Debe usar la instrucción End If coincidente después de ingresar la sintaxis anterior , cuando la condición cumple o el criterio se evalúa como verdadero, entonces todas las líneas entre If Then y End If se procesan.

Cuando escribe Sub IF_THEN () como el primer mensaje sin comillas, puede observar que Excel agrega automáticamente la línea End Sub debajo de la primera línea del mensaje cuando presiona Enter. Ahora, todos los códigos que ingrese deben estar entre estas dos líneas.

Código:

 Sub IF_THEN () Si 3> 2 Entonces MsgBox "3 es mayor que 2" End If End Sub 

Echemos un vistazo con el código anterior que tiene una sola línea de instrucción IF que verifica o verifica el valor 3.

Si el valor "3" es mayor que "2", aparece un mensaje emergente con el mensaje, es decir, "3 es mayor que 2". Si cambia el valor de " 2 " a " 5 " en el código VBA y lo ejecuta, entonces no sucede nada. Porque 3 no es mayor que 5.

Puede ejecutar la macro haciendo clic en el botón Ejecutar Sub o presionando F5 . La ventana emergente del cuadro de mensaje de VBA aparece con un mensaje que dice "3 es mayor que 2"

Declaración VBA IF-THEN-ELSE - Ejemplo # 2

En este escenario, la instrucción IF & ELSE se usa para ejecutar dos condiciones diferentes. El formato o sintaxis para escribir código es:

Si entonces

Declaración1

Más:

Declaración2

Terminara si

SI ejecuta un código mencionado a continuación, es decir, si la celda B4 contiene un valor 7, recibirá un cuadro de mensaje que muestra "La celda B4 tiene el valor 7" y si la celda B4 contiene un valor distinto de 7, obtendrá un cuadro de mensaje que muestra "La celda B4 tiene un valor distinto de 7".

Aquí, en función del valor presente en la celda, se produce un resultado diferente (es decir, más de una condición).

Código:

 Sub IF_THEN_ELSE () If Range ("B4"). Value = "7" Entonces MsgBox "La celda B4 tiene el valor 7" Else MsgBox "La celda B4 tiene un valor diferente a 7" End If End Sub 

Ahora, la celda "B4" contiene un valor 7, si ejecuto el código anterior, aparece la primera condición.

Supongamos que cambié el valor de la celda "B4" de 7 a 5 como se muestra a continuación.

Código:

 Sub IF_THEN_ELSE () If Range ("B4"). Value = "5" Entonces MsgBox "La celda B4 tiene el valor 7" Else MsgBox "La celda B4 tiene un valor diferente a 7" End If End Sub 

Entonces, si ejecuto por encima del código VBA IF-THEN-ELSE, aparece la segunda condición.

IF-THEN-ELSEIF-ELSE - Ejemplo # 3

Es una forma avanzada de VBA si la declaración, el formato o la sintaxis para escribir un código es

SI (condición1 es verdadera) Entonces

(Declaración1)

ELSEIF (condición2 es verdadera) Entonces

(Declaración2)

MÁS

(Declaración3)

Terminara si

La ventaja de este código es que ELSE IF se puede usar individualmente o varias veces (10 o 100 veces o más que eso) según sus requisitos.

Código:

 Sub IF_THEN_ELSEIF_ELSE () Si 5> 8 Entonces MsgBox "5 es mayor que 8" ElseIf 6> 8 Entonces MsgBox "6 es mayor que 8" ElseIf 7> 8 Entonces MsgBox "7 es mayor que 8" Else MsgBox "5, 6 o 7 es menor que 8 "End If End Sub 

Veamos cómo funciona el código anterior, Excel iniciará o procesará la primera declaración, cuando se dé cuenta de que es falsa, luego pasará a la siguiente. Aquí todos los argumentos o la condición ElseIf son falsos, por lo tanto, continuará hasta que la condición sea verdadera y al último resultado del argumento Else se muestre como resultado final de la instrucción IF. es decir, MsgBox "5, 6 o 7 es menor que 8", que es un argumento VERDADERO.

Cuando selecciona y ejecuta el código haciendo clic en el botón Ejecutar Sub o presionando F5 . La ventana emergente del cuadro de mensaje de VBA con un mensaje que dice "5, 6 o 7 es menor que 8", que es un argumento verdadero

Ahora, puede guardar estos códigos de macro, renombrándolo como VBA_IF_STATEMENT en la sección de nombre de la pestaña de propiedades

Cosas para recordar

  • Cuando se utiliza la línea única de la instrucción IF Then, no es necesario utilizar End IF por fin. Pero cuando lo dividimos en más de una línea, se debe usar la instrucción End If.
  • En la instrucción VBA, IF-THEN-ELSEIF-ELSE, los argumentos ElseIf siempre deben colocarse antes del argumento Else.

Artículos recomendados

Esta es una guía para las declaraciones IF de VBA. Aquí discutimos cómo usar declaraciones IF en Excel VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Matrices de VBA en Excel
  2. Guía para el formato de número de VBA
  3. Guía para encontrar VBA
  4. ¿Cómo usar VBA Do While Loop?

Categoría: