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