Função de troca do Excel VBA
A função VBA SWITCH nos permite testar várias condições sem aninhar qualquer outra função, mas podemos aplicar todas as funções lógicas dentro da mesma função.
As funções lógicas são o coração e a alma de quase todos os cálculos. Dominá-los agregará mais valor ao nosso currículo de habilidades. Quando se trata de testes de múltiplas condições, as fórmulas lógicas são inevitáveis para chegar ao resultado. Nós confiamos totalmente na função IF no Excel e VBA. Para começar, a própria condição IF é difícil de digerir, mas quando dizemos IF aninhado, é uma fórmula hercúlea de dominar. No entanto, para superar todas essas fórmulas aninhadas, temos uma fórmula chamada SWITCH.

Sintaxe

- Switch calcula a primeira expressão e, se o valor for verdadeiro, retorna o valor da expressão e, se o valor da expressão 1 não for verdadeiro, segue para o mesmo cálculo da expressão 2 e, se o resultado for verdadeiro, então, o valor 2 é exibido, mas se a expressão for retornada como falsa, alterne para outra expressão.
E se nenhuma das expressões for verdadeira e todas forem retornadas como falsas? Em tal situação, obtemos erro de tempo de execução, a menos que tenhamos um tratamento preventivo de erros para tais situações.
Como usar a função Switch no VBA?
Exemplo 1
Agora, olhe para o código abaixo.
Código:
Sub Switch_Example1 () Dim ResultValue As String Dim FruitName As String FruitName = "Maçã" ResultValue = Switch (FruitName = "Maçã", "Médio", FruitName = "Laranja", "Frio", FruitName = "Sapota", "Calor" , FruitName = "Melancia", "Frio") MsgBox ResultValue End Sub

- No código acima, declarei duas variáveis VBA.
Dim ResultValue As String Dim FruitName As String
- Para a variável FruitName, atribuí o nome da fruta como “Maçã”.
FruitName = "Apple"
- Em seguida, para a variável “ResultValue”, atribuí SWITCH. Deixe-me explicar a você a função.
Switch (FruitName = "Apple", "Médio",
- Esta é a primeira parte da fórmula. Se a variável FruitName for Apple, o resultado deve ser “Médio”.
Proximo é
FruitName = "Laranja", "Frio",
- Esta é a segunda parte da fórmula básica do Excel. Se a variável FruitName for Orange, o resultado deve ser “Cold”.
Depois disso, nós escrevemos.
FruitName = "Sapota", "Calor",
- Esta é a terceira parte da fórmula. Se a variável FruitName for Sapota, o resultado deve ser “Calor”.
FruitName = "Melancia", "Frio"
Esta é a parte final da fórmula. Se a variável FruitName for Watermelon, o resultado deverá ser “Cold”.
Quando eu executar este código, ele retornará o resultado como "Médio" porque para a variável "FruitName", atribuí o valor como "Maçã"

Como o Nome da fruta é “Maçã”, nosso resultado de teste lógico é “Médio”, portanto, temos um resultado na caixa de mensagem.
Atribua os diferentes valores à variável “FruitName” para obter o respectivo resultado.
Exemplo # 2
Dê uma olhada em mais um exemplo.
Código:
Sub Switch_Example2 () Dim ResultValue As String Dim CityName As String CityName = "Delhi" ResultValue = Switch (CityName = "Delhi", "Metro", CityName = "Bangalore", "Non Metro", CityName = "Mumbai", "Metro ", CityName =" Kolkata "," Não metropolitano ") MsgBox ResultValue End Sub

Desta vez, atribuí nomes de cidades, qualquer que seja o nome da cidade que fornecemos à variável “CityName”, de acordo com isso, apliquei alguns resultados aos respectivos nomes de cidades.
Se você aplicar o nome da cidade como "Delhi ou Mumbai", obteremos o resultado como "Metro", ou se aplicarmos o nome da cidade como "Bangalore ou Calcutá", obteremos o resultado como "Não Metro".
Agora, no exemplo acima, mencionei o nome da cidade como “Delhi”, então nosso resultado será “Metro” na caixa de mensagem em VBA.

É assim que a função SWITCH funciona no VBA.
Coisas para lembrar
- SWITCH está disponível como planilhas do Excel e funções VBA.
- Podemos usar SWITCH como alternativa às condições IF aninhadas do Excel.
- Use isso em exemplos reais para obter a solução prática de problemas.