Este artigo demonstrará como usar a instrução VBA Switch.
A instrução VBA Switch é usada de maneira semelhante à instrução VBA Select Case.
A sintaxe da instrução Switch
A instrução switch avalia uma lista de expressões para ver se são verdadeiras ou falsas e retorna o valor das primeiras expressões avaliadas como verdadeiras. A lista de argumentos é composta de pares - uma expressão e um valor que é retornado se a expressão for avaliada como verdadeira.
Trocar(expr-1, valor-1, [ expr-2, valor-2… , [ expr-n, valor-n ]])
Usando a instrução Switch em um procedimento VBA
Para usar isso em uma macro, pode ser semelhante a este exemplo abaixo:
1234567 | Sub TestSwitch ()Dim strCompany As StringDim CompanyID As IntegerCompanyID = 2strCompany = Switch (CompanyID = 1, "Apple", CompanyID = 2, "IBM", CompanyID = 3, "Samsung")MsgBox strCompaniesEnd Sub |
Estamos declarando uma variável inteira para conter os valores das expressões dentro da instrução switch. Em seguida, declaramos outra variável de string para retornar o valor contido nessa expressão.
Usando a instrução Switch com um intervalo
Em vez de codificar o valor que o switch vai avaliar no código, podemos usar um valor que armazenamos em uma célula do Excel para retornar a string que exigimos.
1234567 | Sub TestSwitch ()Dim strCompany As StringDim CompanyID As IntegerCompanyID = intervalo ("A2")strCompany = Switch (CompanyID = 1, "Apple", CompanyID = 2, "IBM", CompanyID = 3, "Samsung")MsgBox strCompaniesEnd Sub |
Para usar este procedimento, precisaríamos ter um número na célula A2 da planilha. Podemos então executar a macro para obter o nome da empresa (ou seja, Samsung).
Se não tivermos um número na célula A3 e executarmos o código, um erro de incompatibilidade de tipo será retornado.
Criando uma função personalizada com switch VBA
Também podemos criar uma função personalizada usando a opção VBA e usá-la em nossa pasta de trabalho.
123 | Função SwitchStatement (i As Integer) As StringSwitchStatement = Switch (i = 1, "Apple", i = 2, "IBM", i = 3, "Samsung")Função Final |
Para usar isso em nossa pasta de trabalho, podemos usar a caixa de diálogo Inserir Função.
Clique na célula A3 e, a seguir, clique em Inserir Função na barra de Funções.
Na caixa de diálogo Inserir Função, selecione Usuário definido de Selecione a lista suspensa de categoriae, em seguida, selecione SwitchStatement.
Clique OK, e clique no celular A2.
O nome da empresa, conforme armazenado na Declaração de Mudança, será devolvido à nossa planilha.