Vba: use if and para testar múltiplas condições
Você pode usar a seguinte sintaxe básica em VBA com IF e AND para testar se várias condições são atendidas:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And 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” e se o valor na célula B2 é maior que 100.
Se ambas as condições forem atendidas, 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.
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 e o valor dos pontos é maior que 100 e retornar o resultado na célula C2 .
Podemos criar a seguinte macro para fazer isso:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And 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 “Não”. na célula C2 , pois as duas condições não foram atendidas.
Se alterarmos o valor dos pontos na célula B2 e depois executarmos a macro novamente, ela testará se ambas as condições foram atendidas para os novos valores:
Por exemplo, suponha que alteremos o valor do ponto para 104 e executemos a macro novamente:
A macro retorna corretamente o valor “Sim!” » na célula C2 , uma vez que ambas as condições foram atendidas.
Se você quiser exibir os resultados em uma caixa de mensagem, poderá usar a seguinte sintaxe:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And 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 “Sim!” » já que o nome do time é Warriors e o valor dos pontos é superior a 100.
Nota : Neste exemplo, usamos o operador And apenas uma vez em nossa macro para testar se duas condições eram verdadeiras, mas você pode usar quantos operadores And 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