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 Excel

Instruçã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 -

  1. Como usar o VBA Select Case?
  2. Como usar a função de localização do VBA?
  3. Guia da função VBA TRIM
  4. Guia e exemplos para loops VBA

Categoria: