Vba: use if or para testar múltiplas condições


Você pode usar a seguinte sintaxe básica em VBA com IF e OR para testar se várias condições são atendidas:

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    Range(" C2 ").Value = " Yes! "
    Else
    Range(" C2 ").Value = " No. "
   End If
End Sub

Este exemplo específico verifica se o valor na célula A2 é igual a “Guerreiros” ou se o valor na célula B2 é maior que 100.

Se alguma das condições for atendida, o valor “Sim!” » é retornado na célula C2 .

Caso contrário, o valor “Não”. é retornado para a célula C2 .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Relacionado: VBA: Use IF AND para testar múltiplas condições

Exemplo: use IF AND para testar múltiplas condições em VBA

Suponha que tenhamos os seguintes dados no Excel:

Suponha que queremos determinar se o nome do time é Warriors ou se o valor dos pontos é maior que 100 e retornar o resultado na célula C2 .

Podemos criar a seguinte macro para fazer isso:

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    Range(" C2 ").Value = " Yes! "
    Else
    Range(" C2 ").Value = " No. "
   End If
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

A macro retorna corretamente o valor “Sim!” » na célula C2 , pois pelo menos uma das condições foi atendida.

Se alterarmos o valor dos pontos na célula A2 e depois executarmos a macro novamente, ela testará se ambas as condições foram atendidas para os novos valores:

Por exemplo, digamos que alteramos o nome da equipe para “Rockets” e executamos a macro novamente:

A macro retorna corretamente o valor “Não”. na célula C2 , pois nenhuma das condições foi atendida.

Se você quiser exibir os resultados em uma caixa de mensagem, poderá usar a seguinte sintaxe:

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    MsgBox “ Yes!Else
    MsgBox “ No.End If
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

A caixa de mensagem retorna “Não”. uma vez que nenhuma condição foi atendida.

Nota : Neste exemplo, usamos o operador Or apenas uma vez em nossa macro para testar se duas condições eram verdadeiras, mas você pode usar quantos operadores Or desejar para testar se mais de duas condições forem atendidas.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: como usar PROCV
VBA: Como contar ocorrências de caracteres em uma string
VBA: como verificar se uma string contém outra string

Add a Comment

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