Caso contrário, o Excel VBA
VBA Else If permite analisar uma condição e executar uma ação em conformidade. A condição SE verifica se a condição fornecida é TRUE ou FALSE; se a condição for TRUE, retornará o valor atribuído de Value se True e retornará Value IF False se o resultado for FALSE.
A lógica da condição SE na fórmula regular do Excel e na fórmula VBA é a mesma. Neste artigo, abordarei a condição completa do VBA IF.
Sintaxe da instrução If do VBA
Primeiro, veja a sintaxe da instrução IF no VBA.
Isso é muito semelhante à nossa função de planilha IF. A única diferença aqui é que precisamos colocar a palavra THEN para avançar na função, também outra parte da condição SE é opcional, diferente da condição IF normal e precisamos mencionar o final da função como End If .
Na verdade, haverá mais um argumento se as condições a serem testadas forem mais de uma condição e essa parte for chamada como instrução ELSE IF. É como nossa condição IF aninhada em nossos cálculos de planilha. ELSE SE entrará em valor de imagem se a condição for FALSE, então precisamos testar mais condições com a condição ELSE SE.
Neste artigo, veremos mais da condição ELSE IF no mundo prático.
Como usar o VBA Else If Statement?
Vamos entender como usar a declaração VBA Else If com alguns exemplos.
Você pode fazer o download deste modelo do VBA Else If Excel aqui - Modelo do VBA Else If ExcelInstrução If simples - Exemplo # 1
Agora, a explicação teórica é suficiente, mesmo que você não entenda nada, nada para se preocupar. No exemplo prático, você entenderá a lógica.
Suponha que você tenha um valor na célula A2 e deseje verificar se o número é maior que 100 ou não. Se o valor for maior que 100, precisamos do valor na célula B2 como "Mais de 100". O código abaixo executará a tarefa necessária.
Código:
Sub IF_Example1 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" End If End Sub
Em seguida, execute esse código usando a tecla F5 ou manualmente, conforme mostrado na captura de tela. Então podemos ver o resultado na célula B2.
Se você alterar o valor na célula A2 para 99 e executar o código. O código não retornará nada porque o valor é menor que 100 e não fornecemos nenhum resultado se o teste for FALSE, como veremos no próximo exemplo.
If with Else Statement - Exemplo # 2
Vimos como o IF único com condição TRUE funciona. Agora veremos como trabalhar se a condição fornecida for FALSE.
No código atual após o valor True ser fornecido na próxima linha, digite a palavra Else.
Código:
Sub IF_Example2 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" Else End If End End Sub
E na próxima linha, escreva o código para o valor False.
Código:
Sub IF_Example2 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" Else Range ("B2"). Value = "Less than 100" End If End Sub
Em seguida, execute esse código usando a tecla F5 ou manualmente, conforme mostrado na captura de tela. Se o valor for maior que 100, o resultado será "Mais de 100" na célula B2.
Se o valor for menor que 100, o resultado será "Menor que 100".
Instrução If aninhada com Else If - Exemplo # 3
Quando queremos testar mais de uma condição, precisamos usar mais instruções IF dentro da condição IF. Mas no VBA, precisamos usar a palavra ELSE IF para testar mais de uma condição.
Por exemplo, na célula A2, se o valor for maior que 200, precisamos do resultado como "Mais de 200" na célula B1.
Se o valor for maior que 100, precisamos do resultado como "Mais de 100" na célula B2.
Se o valor for menor que 100, precisamos do resultado como "Menor que 100" na célula B2.
Etapa 1: Depois que o valor TRUE for passado, digite a palavra ELSE IF na próxima linha.
Código:
Sub IF_Example3 () If Range ("A2"). Value> 200 Then Range ("B2"). Value = "More than 200" ElseIf Range ("A2"). Value> 100 Then Range ("B2"). Value = "Mais de 100" End If End Sub
Etapa 2: como já testamos dois argumentos, resta apenas uma condição. Agora, na próxima linha, forneça o resultado final do teste com a declaração ELSE.
Código:
Sub IF_Example3 () If Range ("A2"). Value> 200 Then Range ("B2"). Value = "More than 200" ElseIf Range ("A2"). Value> 100 Then Range ("B2"). Value = "Mais que 100" Intervalo Else ("B2"). Valor = "Menos que 100" End If End Sub
Etapa 3: execute esse código usando a tecla F5 ou manualmente, conforme mostrado na captura de tela para ver os resultados.
Resultado 1:
Resultado 2:
Resultado 3:
Aninhado se com loop - Exemplo # 4
Este é o exemplo avançado de Nested IF with Loop. Suponha que você tenha uma tabela de vendas com dados de 12 meses.
Na coluna de status, precisamos do resultado da seguinte forma.
- Se o valor das vendas for maior que 7000, o resultado deverá ser "Excelente"
- Se o valor das vendas for maior que 6500, o resultado deverá ser "Muito Bom"
- Se o valor das vendas for maior que 6000, o resultado deverá ser "Bom"
- Se o valor das vendas for superior a 4000, o resultado deverá ser "Não é ruim"
- Se todos os resultados forem FALSE, o resultado deverá ser "Ruim"
Para executar este teste, precisamos do código abaixo, que é uma combinação de IF com ELSE IF e LOOP.
Código:
Sub IF_Example4 () Dim i Como Inteiro i = 2 Para i = 2 a 13 Se Células (i, 2) .Valor> = 7000 Então Células (i, 3) .Value = "Excelente" Células ElseIf (i, 2). Valor> = 6500 Então células (i, 3) .Value = "Muito bom" Outras células (i, 2) .Valor> = 6000 Então células (i, 3) .Value = "Bom" células adicionais (i, 2) .Value> = 4000 Em seguida, células (i, 3) .Value = "Não é mau" Células restantes (i, 3) .Value = "Bad" Fim Se próximo i Fim Sub
Em seguida, execute esse código usando a tecla F5 ou manualmente, conforme mostrado na captura de tela para ver os resultados.
Coisas para lembrar
- A instrução ELSE IF requer o código de resultado na mesma linha e não na próxima linha e também exige que a instrução THEN vá para a próxima instrução.
- Se a instrução END IF não estiver incluída, obteremos o erro abaixo.
- O operador não é nada, mas não é igual a uma instrução IF.
- Como a função da planilha, também podemos usar a instrução AND & OR na instrução IF.
Artigos recomendados
Este foi um guia para a declaração VBA Else If. Aqui discutimos o VBA Else If e como usar o Excel VBA Else If, além de alguns exemplos práticos e modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -
- Como usar o VBA Select Case?
- Como usar a função de localização do VBA?
- Guia da função VBA TRIM
- Guia e exemplos para loops VBA