Aprenda neste curso gratuito a como utilizar a condição IF do VBA!

Dando continuidade ao nosso curso de VBA, vamos aprender o que é estrutura condicional e como utilizar a condição IF (Se) no VBA.

Estrutura Condicional

Antes de começar, precisamos entender o que é estrutura condicional.

A estrutura condicional possibilita que uma instrução, ou bloco de instrução, seja executada quando as condições estabelecidas sejam satisfeitas.

Com a estrutura condicional é possível realizar desvios no fluxo do programa.

Existem dois tipos de estrutura condicional, a estrutura condicional simples e a composta.

APRENDA POWER BI

CLIQUE AQUI e saiba mais!

A estrutura condicional, pode ser definida através da condição IF (SE) ou do SELECT. Nesta parte do curso, iremos utilizar a condição IF para exemplificar a estrutura condicional.

A condição SELECT iremos abordar na próxima parte do curso, por isso fique atento as nossas publicações e se inscreva para receber as nossas atualizações por e-mail.

Importância

É importante entender como funciona a estrutura condicional porque ela permite que o seu programa tome decisões de acordo com dados que inserimos nele.

Com os dados, o programa toma decisões que foram estabelecidas e executa um pedaço do código em detrimento de outro.

Estrutura Condicional Simples.

Uma estrutura condicional simples estabelece que a instrução ou bloco de instrução seja executado, somente se a condição for verdadeira. Se a condição for falsa, a instrução não será executada e o programa irá para o próximo conjunto de instruções.

fluxograma para explicar como a estrutura condicional IF funciona no VBA

  1. Início do programa.
  2. SE condição for verdadeira ENTÃO
  3. Executa a instrução
  4. FIM SE
  5. Executa o restante do programa
  6. Fim do programa

No VBA, os comandos são executados em inglês, com isso, a estrutura condicional simples fica da seguinte forma no VBA.

If [condição] Then
   [instrução]
End If

Existe uma outra forma de representar a condição SE, quando a estrutura condicional for simples, que é escrever todo o código na mesma linha, porém sem a necessidade de colocar o “End If”

If [condição] Then [instrução]

Mas lembre-se, essa forma de escrever o “SE” só funciona com estruturas condicionais simples e deve ser escrito na mesma linha.

Exemplo 1 – IF…END IF

Neste exemplo, vamos montar um programa que inicialmente irá solicitar a sua idade. Após informar a sua idade ao programa, ele irá analisar a informação inserida e irá mostrar uma mensagem se a condição que estabelecemos no programa for atingida.

Sub verificarIdade()
    Dim idade As Integer
    idade = InputBox("Digite a sua idade?")
    If idade >= 18 Then
        MsgBox "Você é maior de idade!"
    End If
End Sub
  1.  Começamos o desenvolvimento pela declaração da nossa subrotina(subroutine) de verficarIdade(). Lembre-se de colocar o “End Sub” no final, caso contrário ao tentar executar o programa, um erro de compilação irá ocorrer, informando que o “End Sub” está faltando.
  2. Declaramos a variável, que será atribuída a idade informada, de Integer e demos o nome de “idade”.
  3. Mostramos uma mensagem solicitando uma idade. Quando for informada a idade, ela será atribuída a variável “idade”.
  4. A condição IF irá verificar se a idade informada é maior ou igual a 18. Caso a idade informada seja pelo menos 18, o programa irá mostrar a mensagem “Você é maior de idade!” e encerrá a execução.

Estrutura Condicional Composta

A estrutura condicional composta, além de ter a funcionalidade da estrutura condicional simples, ela também permite que caso a condição não seja atendida, um outro bloco de instrução possa ser executado.

A estrutura condicional composta é representada pelo uso da condição “Else” ou “ElseIf” junto da condição “IF”.

Condição IF…ELSE…END IF

Quando a condição estabelecida no IF for falsa, automaticamente a instrução dentro da condição “Else” será executada.

fluxograma para explicar como a estrutura condicional if else funciona no VBA

  1. Início do programa.
  2. SE condição for verdadeira ENTÃO
  3. Executa a instrução A
  4. SENAO
  5. Executa instrução B
  6. FIM SE
  7. Fim do programa
If [condição] Then
    [instrução 1]
Else
    [instrução 2]
End If

Exemplo 2 – IF…ELSE…END IF

Vamos aproveitar o exemplo acima, iremos incluir a instrução a ser executada, caso a condição estabelecida seja falsa.

Sub verificarIdade()
    Dim idade As Integer
    idade = InputBox("Digite a sua idade?")
    If idade >= 18 Then
        MsgBox "Você é maior de idade!"
    Else
        MsgBox "Você é menor de idade!"
    End If
End Sub

Neste código, verificamos se a idade informada é maior que 18, caso verdadeira, o programa mostra uma mensagem informando é maior de idade, caso a idade informada seja menor que 18, o programa irá informar que é menor de idade.

Condição IF…ELSEIF…END IF

Quando a condição estabelecida na condição IF for falsa, o programa irá para a condição “ElseIf” e irá verificar se a condição é atendida. Caso seja, a instrução dentro dela será executada, caso contrário o programa executará o restante das instruções.

fluxograma para explicar como a estrutura condicional if elseif funciona no VBA

If [condição 1] Then
   [instrução 1]
ElseIf [condição 2] Then
   [instrução 2]
End If

O “ElseIf” é opcional o seu uso, porém sempre que for utilizado, ele terá que vir logo em seguida ao “If”. Além do que você pode ter mais de um “ElseIf” logo após o “If”.

Quando a condição do “If” for falsa, o programa irá no “ElseIf” e irá verificar se a condição estabelecida nele é atingida, caso seja verdadeira a instrução dentro dele será executada.

Diferente do “Else” que o comando dentro dele será executado automaticamente quando a condição no “If” não for atingida, o “ElseIf” tem que ter uma condição e a instrução dentro dele será executada somente se a condição estabelecida for atingida.

Exemplo 3 – IF…ELSEIF…END IF

Neste exemplo, iremos utilizar o ELSEIF para ver como ele funciona.

Iremos utilizar o mesmo exemplo apresentado logo acima, mas no lugar do “Else”, vamos colocar o “ElseIf” e ver o que acontece.

Diferentemente do exemplo acima, quando a idade não for 18, o programa não irá mostrar a mensagem informando que é menor de idade. Ele primeiro irá verificar se a idade é maior que 12, se for verdadeira ele irá mostrar a mensagem, caso contrário o programa irá continuar o seu fluxo sem mostrar a mensagem.

Sub verificarIdade()
    Dim idade As Integer
    idade = InputBox("Digite a sua idade?")
    If idade >= 18 Then
        MsgBox "Você é maior de idade!"
    ElseIf idade >= 12 Then
        MsgBox "Você é menor de idade!"
    End If
End Sub

Exemplo 4 – IF…ELSEIF…ELSE…END IF

fluxograma para explicar como a estrutura condicional if elseif else funciona no VBA

Neste exemplo iremos realizar uma combinação do “ElseIf” com o “Else”.

Primeiramente o programa irá verificar se a idade informada é 18, caso verdadeira, ele irá mostrar a mensagem que é maior de idade e irá ignorar as instruções dentro do “ElseIf” e do “Else”.

Se a idade informada for menor que 18, o programa irá ignorar a instrução dentro do “If” e irá verificar a condição do “ElseIf”, se a condição for atingida, o programa irá mostrar a mensagem que é um adolescente e irá ignorar a instrução dentro do “Else”.

Agora, se a condição do “ElseIf” também não foi atingida, o programa ignora a instrução dentro dele e executa automaticamente a instrução dentro do “Else”

Sub verificarIdade()
    Dim idade As Integer
    idade = InputBox("Digite a sua idade?")
    If idade >= 18 Then
        MsgBox "Você é maior de idade!"
    ElseIf idade >= 12 Then
        MsgBox "Você é um adolescente!"
    Else
        MsgBox "Você é uma criança!"
    End If
End Sub

Resumo da condição SE no VBA

[table id=1 /]

Se Inscreva no nosso curso gratuito de VBA