Como usar a função IIf no VBA?

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.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project