
A função `IIf` no VBA (Visual Basic for Applications) é usada para realizar uma avaliação condicional similar à operação ternária encontrada em outras linguagens de programação. Ela avalia uma condição e retorna um valor se a condição for verdadeira e outro valor se a condição for falsa. É importante notar que `IIf` avalia ambos os resultados, verdadeiro e falso, independentemente da condição, o que pode levar a alguns problemas se qualquer um dos resultados gerar um erro.
A sintaxe da função `IIf` é a seguinte:
IIf(Expressão, ValorVerdadeiro, ValorFalso)
- Expressão: Esta é a condição que você deseja avaliar. Ela deve retornar um valor booleano (`True` ou `False`).
- ValorVerdadeiro: Este é o valor que será retornado se a `Expressão` for avaliada como `True`.
- ValorFalso: Este é o valor que será retornado se a `Expressão` for avaliada como `False`.
Vamos ver um exemplo de como usar a função `IIf`:
Sub ExemploIIf()
Dim idade As Integer
Dim categoria As String
idade = 25
' Utiliza a função IIf para determinar a categoria baseada na idade
categoria = IIf(idade >= 18, "Adulto", "Menor de Idade")
MsgBox "Categoria: " & categoria
End Sub
Neste exemplo, se a variável `idade` for 25, a expressão `idade >= 18` será verdadeira, então `IIf` retornará “Adulto”. Se `idade` fosse menor que 18, retornaria “Menor de Idade”.
Observação: Porque `IIf` sempre avalia ambos `ValorVerdadeiro` e `ValorFalso`, você deve tomar cuidado ao usar essa função, especialmente se esses valores incluem qualquer lógica que possa resultar em um erro. Para evitar tais problemas, considere usar uma estrutura `If…Then…Else` normal quando possível.