Declaración VBA If - Then - Else en Excel (4 Ejemplos)

  • Compartir Este
Hugh West

Las sentencias condicionales se utilizan para realizar un conjunto de acciones dependiendo de la condición especificada en los lenguajes de programación. En este artículo, le mostraremos qué es Si - Entonces - Si no declaración condicional en VBA Qué es Excel y cómo utilizarlo.

Descargar el cuaderno de ejercicios

Puede descargar gratuitamente el libro de prácticas en Excel desde aquí.

If-Then-Else en VBA.xlsm

Introducción a la sentencia If - Then - Else en VBA

VBA Si - Entonces - Si no La sentencia condicional se utiliza principalmente para decidir el flujo de ejecución de las condiciones. Si la condición es verdadera entonces se ejecuta un determinado conjunto de acciones, y si la condición es falsa entonces se realiza otro conjunto de acciones.

  • Sintaxis
 If condición Then [declaraciones] [Else else_declaraciones] 

O,

 If condition Then [statements] [Else [else_statements]] End If 

Toma,

Argumento Obligatorio/ Facultativo Descripción
condición Requerido Una expresión numérica o una expresión de cadena que evalúa si la expresión es Verdadero o Falso Si el condición es Nulo, se considera Falso .
declaraciones Opcional Un formulario de una sola línea que no tiene Si no Una o más sentencias deben ir separadas por dos puntos. Si la cláusula condición es Verdadero se ejecuta esta sentencia.
else_statements Opcional Se ejecutan una o varias sentencias si no hay condición es Verdadero .

4 Ejemplos de uso de VBA Si - Entonces - Else Declaración en Excel

En esta sección, aprenderá a utilizar Si-Entonces-Si en VBA código con 4 ejemplos.

1. Encontrar el mayor número entre dos números con la sentencia If - Then - Else

Si tienes dos números y quieres averiguar cuál es el mayor (o el menor), puedes utilizar la función Si-Entonces-Si declaración en VBA .

Pasos:

  • Pulse Alt + F11 en su teclado o vaya a la pestaña Desarrollador -> Visual Basic para abrir Editor de Visual Basic .

  • En la ventana de código emergente, en la barra de menús, haga clic en Insertar -> Módulo .

  • Copie el siguiente código y péguelo en la ventana de código.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "El 1er Número es Mayor que el 2º Número" ElseIf Num2> Num1 Then MsgBox "El 2º Número es Mayor que el 1er Número" Else MsgBox "El 1er Número y el 2º Número son Iguales" End If End Sub 

Su código ya está listo para ejecutarse.

Aquí estamos comparando dos números 12345 y 12335 Este proceso suele ser perfecto para encontrar números grandes en un gran conjunto de datos.

  • Pulse F5 en el teclado o, en la barra de menús, seleccione Run -> Run Sub/UserForm También puede hacer clic en el botón pequeño icono Play en la barra de submenú para ejecutar la macro.

Obtendrá el resultado en la pantalla de Excel MsgBox

En nuestro caso, el número 12345 - almacenado en la variable Num1 - es mayor que el número 12335 , Num2 Así que el MsgBox nos está mostrando que el El primer número es mayor que el segundo .

Read More: Fórmula Excel para generar números aleatorios (5 ejemplos)

2. Comprobación del resultado de un estudiante mediante la sentencia If - Then - Else en VBA

Puede comprobar si un alumno aprueba o suspende un examen con esta declaración en la pantalla VBA código.

Pasos:

  • De la misma manera que antes, abra Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
  • En la ventana de código, copia el siguiente código y pégalo.
 Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "John's Result is Pass" Else MsgBox "John's Result is Fail" End If End Sub 

Su código ya está listo para ejecutarse.

Este código comprobará si Cell D5 tiene un valor superior a 33 Si lo hace mostrará una salida, si no lo hace mostrará otra cosa.

  • Ejecutar la macro y obtendrás el resultado según tu código.

Observe el conjunto de datos anterior con el resultado, Celda D5 tiene 95 que es ciertamente más que 33 por lo que muestra el El resultado es aprobado Pero si ejecutamos el código de Cell D7 (22), entonces se mostraría lo contrario.

Más información: Cómo Usar la Declaración de Caso VBA (13 Ejemplos)

Lecturas similares

  • Cómo utilizar la función Log en Excel VBA (5 ejemplos adecuados)
  • Uso de la Función VBA LTrim en Excel (4 Ejemplos)
  • Cómo utilizar la función VBA FileDateTime en Excel (3 usos)
  • Utilizar el Operador Mod de VBA (9 Ejemplos)
  • Función EXP de VBA en Excel (5 Ejemplos)

3. Actualizar Comentarios en la Calificación del Estudiante Usando Múltiples Sentencias If - Then - Else en VBA

Ha aprendido a extraer si un alumno aprueba o no con un solo Si-Entonces-Si pero esta vez aprenderá sobre Múltiples If-Then-Else con el siguiente ejemplo.

Ejecutaremos un VBA código para rellenar esos Comentario en función de múltiples condiciones.

Pasos:

  • De la misma manera que antes, abra Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
  • En la ventana de código, copia el siguiente código y pégalo.
 Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Gran trabajo" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Sigue así" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Necesita mejorar" Else grade.Offset(0, 1).Value = "Reunión padres-profesores" End If Next grade EndSub 

Su código ya está listo para ejecutarse.

Este código imprimirá los comentarios en función de la calificación obtenida por los alumnos.

  • Ejecutar este código y ver la siguiente imagen donde las casillas de comentarios se rellenan con los resultados apropiados.

4. Declaración If-Then-Else para Actualizar Direcciones Cardinales Basadas en Código en Excel

También puede utilizar el Si-Entonces-Si para encontrar los puntos cardinales basándonos en el código indicador proporcionado. Fíjate en la siguiente imagen en la que averiguaremos los puntos cardinales basándonos en las iniciales que se han dado.

Pasos:

  • Abrir Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
  • En la ventana de código, copia el siguiente código y pégalo.
 Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "East" Else iDirection.Offset(0, 1).Value = "West" End If Next iDirection EndSub 

Su código ya está listo para ejecutarse.

  • Ejecutar este código y obtendrás los nombres de las direcciones en las celdas respectivas.

O, si desea encontrar sólo una dirección basada en el código, puede utilizar el código siguiente.

 Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub 

Este código tomará el valor de la celda B5 y devuelve el resultado en función del mismo en la celda C5 .

Por ejemplo, si escribe " N " en Cell B5 te dará " Norte ; si escribe " S " en Cell B5 te mostrará " Sur " en Cell C5 .

Conclusión

En este artículo se muestra cómo utilizar la función Si - Entonces - Si no en Excel con VBA Espero que este artículo le haya sido muy útil. No dude en preguntar si tiene alguna duda sobre el tema.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.