Excel VBA – If … Then … Else

Postado em 18/09/2009 23:09:41 por Tomás Vásquez

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:

1
2
3
4
5
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:

  • x, se x é positivo;
  • -x, se x é negativo (note que isto corresponde ao valor de x sem o sinal).

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

1
2
3
4
5
6
7
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:

ifel_c53[1]ifel_19c[1]

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

Você precisa ser um usuário registrado para inserir um comentário. Faça seu login clicando aqui