¿cómo utilizar la función if anidada de vba?

En VBA, puede utilizar una declaración IF dentro de otra declaración IF para crear IF anidados. En palabras simples, puede ejecutar una declaración de prueba usando IF en función del resultado de otra declaración IF. En este tipo de declaración condicional, es necesario probar condiciones complejas. Veamos un ejemplo:

vba-anidado-si

En el ejemplo anterior, estamos probando dos condiciones, condición1 (1 + 1 = 2) y condición2 (2 + 2 = 4).

Pero como somos la declaración IF dentro de la declaración IF, VBA probará primero la primera condición y luego pasará a la siguiente IF.

En el segundo SI tenemos un cuadro de mensaje para mostrar si la condición es VERDADERA.

 Sub myMacro1() 'first if statement If 1 + 1 = 2 Then 'second if statement If 2 + 2 = 4 Then MsgBox True End If Else MsgBox False End If End Sub

A continuación se muestra un ejemplo del uso de varios IF en un IF.

Hay una diferencia entre el ejemplo que usamos anteriormente y el ejemplo anterior: en este código, usamos una condición anidada para «Else».

Si la primera condición no es verdadera, VBA saltará a «Else» y probará la condición, y si esa condición no es verdadera, pasará a la siguiente.

De esta manera tenemos un total de cuatro condiciones para probar.

 Sub myMacro2() Dim myScore As Single: myScore = Range("A1").Value If myScore >= 80 Then MsgBox "Excellent" Else If myScore >= 60 And myScore < 80 Then MsgBox "Good" Else If myScore >= 40 And myScore < 60 Then MsgBox "Average" Else If myScore < 40 Then MsgBox "Poor" End If End If End If End If End Sub

Esta declaración IF anidada probará la puntuación de la celda A1 y mostrará un cuadro de mensaje en consecuencia.

VBA anidado IF con múltiples líneas (IF)

También puede utilizar dos IF diferentes para ejecutar ambos resultados (Verdadero y Falso).

En el ejemplo anterior, como puede ver, primero tenemos una condición para probar, y si esa condición es VERDADERA, entonces tiene otra condición para probar, y si esa segunda condición es VERDADERA, aparecerá un cuadro de mensaje.

Y si la condición principal es falsa, tiene otra condición para probar y recibirá un cuadro de mensaje si esa condición es verdadera.

 Sub myMacro3() If 1 + 1 = 2 Then If 2 - 1 = 1 Then MsgBox "Condition1 is TRUE." End If Else If 3 - 2 = 1 Then MsgBox "Condition2 is TRUE." End If End If End Sub

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *