¿Cómo usar la función IIf en VBA?

La función IIf en VBA es muy similar a la operación ternaria encontrada en otros lenguajes de programación y sirve para hacer una evaluación condicional en una sola línea.

Sintaxis básica

VBA

IIf(expr, truepart, falsepart)

  • expr es la expresión que se evalúa, la condición que debe ser True o False.
  • truepart es el valor que IIf retorna si expr es verdadero (True).
  • falsepart es el valor que IIf retorna si expr es falso (False).

Ejemplo

VBA

Sub EjemploIIf()
    Dim numero As Integer
    numero = 10

    ' Utilizar IIf para comprobar si el número es mayor que 5
    Dim resultado As String
    resultado = IIf(numero > 5, "Mayor que cinco", "Cinco o menos")

    ' Imprimir el resultado en la ventana inmediata (Ctrl + G para verla)
    Debug.Print resultado
End Sub

En este caso, IIf evalúa si numero es mayor que 5. Si esto es True, resultado será «Mayor que cinco». Si es False, resultado será «Cinco o menos».

Es importante tener en cuenta que IIf evalúa ambas expresiones truepart y falsepart independientemente de cuál es el resultado de la condición. Esto significa que cualquier función o procedimiento que esté en truepart o falsepart será ejecutada, aunque no corresponda al resultado de la condición. Esto puede causar efectos no deseados si las expresiones tienen efectos secundarios o consumen recursos significativos.

Si necesitas evitar este comportamiento, es mejor optar por una estructura If…Then…Else tradicional en lugar de IIf. Aquí tienes un ejemplo:

VBA

Sub EjemploIfThenElse()
    Dim numero As Integer
    numero = 10

    Dim resultado As String
    If numero > 5 Then
        resultado = "Mayor que cinco"
    Else
        resultado = "Cinco o menos"
    End If

    Debug.Print resultado
End Sub

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario