Devolve um de dois resultados de funções possíveis, dependendo do valor lógico da expressão avaliada.
IIf (Bool As Boolean, Variant1 As Variant, Variant2 As Variant) As Variant
Bool: Qualquer expressão que pretenda avaliar. Se a expressão resultar em True, a função devolve o valor de Variant1; caso contrário, devolve o valor de Variant2.
Variant1, Variant2: Qualquer expressão, sendo que uma delas será devolvida como resultado da função, dependendo da avaliação lógica.
A função IIf avalia tanto Variant1 como Variant2, mesmo que apenas uma delas seja devolvida. Se uma das expressões resultar num erro, a função devolve o erro. Por exemplo, não utilize a função IIF para contornar um possível resultado de divisão por zero.
REM Devolve o valor máximo entre 3 valores
Function Max (A As Double, B As Double, C, As Double) As Double
Max = IIf( A >= B, A, B)
Max = IIf( C >= Max, C, Max)
End Function
REM Utilização incorreta da função IIf
Function Inverse(A As Double) As Double
Inverse = IIf( A = 0, 0, 1/A )
End Function