Como usar a função if aninhada do vba?

No VBA, você pode usar uma instrução IF dentro de outra instrução IF para criar IFs aninhados. Em palavras simples, você pode executar uma instrução de teste usando IF com base no resultado de outra instrução IF. Neste tipo de declaração condicional, você precisa testar condições complexas. Vejamos um exemplo:

vba-aninhado-se

No exemplo acima, estamos testando duas condições, condição1 (1 + 1 = 2) e condição2 (2 + 2 = 4).

Mas como somos a instrução IF dentro da instrução IF, o VBA testará primeiro a primeira condição e depois passará para o próximo IF.

No segundo IF temos uma caixa de mensagem para mostrar se a condição é VERDADEIRA.

 Sub myMacro1() 'first if statement If 1 + 1 = 2 Then 'second if statement If 2 + 2 = 4 Then MsgBox True End If Else MsgBox False End If End Sub

Aqui está um exemplo de uso de vários IFs em um IF.

Há uma diferença entre o exemplo que usamos anteriormente e o exemplo acima: Neste código, usamos uma condição aninhada para “Else”.

Se a primeira condição não for verdadeira, o VBA irá pular para “Else” e testar a condição, e se essa condição não for verdadeira, passará para a próxima.

Dessa forma, temos um total de quatro condições para testar.

 Sub myMacro2() Dim myScore As Single: myScore = Range("A1").Value If myScore >= 80 Then MsgBox "Excellent" Else If myScore >= 60 And myScore < 80 Then MsgBox "Good" Else If myScore >= 40 And myScore < 60 Then MsgBox "Average" Else If myScore < 40 Then MsgBox "Poor" End If End If End If End If End Sub

Esta instrução IF aninhada testará a pontuação da célula A1 e exibirá uma caixa de mensagem de acordo.

IF aninhado VBA com múltiplas linhas (IF)

Você também pode usar dois IFs diferentes para executar ambos os resultados (Verdadeiro e Falso).

No exemplo acima, como você pode ver, primeiro temos uma condição para testar, e se essa condição for VERDADEIRA, então você terá outra condição para testar, e se essa segunda condição for VERDADEIRA, você receberá uma caixa de mensagem.

E se a condição principal for falsa, você terá outra condição para testar e receberá uma caixa de mensagem se essa condição for verdadeira.

 Sub myMacro3() If 1 + 1 = 2 Then If 2 - 1 = 1 Then MsgBox "Condition1 is TRUE." End If Else If 3 - 2 = 1 Then MsgBox "Condition2 is TRUE." End If End If End Sub

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *