IIf Function

Named Arguments

Yes

Syntax

IIf(expr, truepart, falsepart)

expr

Use: Required

Data Type: Boolean

Expression to be evaluated.

truepart

Use: Required

Data Type: Any value or expression

Expression or value to return if expr is True.

falsepart

Use: Required

Data Type: Any value or expression

Expression or value to return if expr is False.

Return Value

The value or result of the expression indicated by truepart or falsepart.

Description

Returns one of two results, depending on whether expr evaluates to True or False.

Rules at a Glance

  • IIf always evaluates both the truepart and falsepart expressions independently of the value of expr. You must therefore ensure that both expressions can be safely evaluated when the IIf function is called or an error is generated.

  • The IIf function is the equivalent of:

    If testexpression Then
        result = truereturn
    Else
        result = falsereturn
    End If

    The only difference is that, in the corresponding If...Then...Else...End If statement, only one of either truepart or falsepart is evaluated, depending on the result of expr.

  • truepart and falsepart can be any one variable, constant, literal, expression, or the return value of a function call.

Programming Tips and Gotchas

The IIf function is ideal for very simple tests resulting in single expressions. If you really feel the need, IIf function calls can be nested; however, your code can become difficult to read quickly. The following code fragment illustrates the use of a nested IIf function:

Dim ...

Get VB & VBA in a Nutshell: The Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.