¿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. La sintaxis de `IIf` es la siguiente:

IIf(expr, truepart, falsepart)

Donde:

  • `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`).

Aquí hay un ejemplo de cómo usar la función `IIf` en 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:

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

Deja un comentario