Cavalcante Consultores – treinamento e consultoria em finanças e Excel

If ... Then

Cavalcante Consultores > Biblioteca de Excel > If ... Then

O que é?

No VBA, a estrutura If ... Then ... Else permite que determinadas instruções sejam executadas apenas caso uma condição definida pelo programador seja satisfeita. O bloco If deve ser encerrado com uma instrução End If.

Esta estrutura de controle de fluxo tem a seguinte sintaxe:

If [condição] Then
    [código executado caso a condição seja verdadeira]
Else
    [código executado caso a condição seja falsa]
End If

A palavra-chave Else é opcional e permite que um conjunto alternativo de instruções seja executado caso a condição testada não seja satisfeita. End If encerra o bloco de código.

Note que é possível inserir qualquer número desejado de instruções dentro desta estrutura. As instruções executadas caso a condição seja verdadeira são todas aquelas que estiverem antes do Else (ou do End If, caso o Else seja suprimido). Analogamente, se uma instrução Else for fornecida, todo o código entre ela e o End If será executado.

Exemplo

Neste exemplo, faremos uma implementação da função módulo. Ela deve receber como parâmetro um número real x e devolver um dos seguintes valores:

Para implementar esta função, usaremos a estrutura If ... Then. Observe o código:

Function Modulo(x as Long) as Long
    If x > 0 Then
        Modulo = x
    Else
        Modulo = -x
    End If
End Function

No código acima, a condição testada pelo If é se o valor de x é positivo (x > 0). Caso esta expressão seja verdadeira, o primeiro bloco de código (Modulo = x) será executado, e o segundo, ignorado; caso contrário, apenas o segundo bloco (Modulo = -x) será executado.

Observe a aplicação da função Modulo:

A função se comporta exatamente como a função ABS do Excel.

Pratique!