Caso do comutador VBA - Como usar a instrução Switch Case no Excel VBA?

Índice:

Anonim

Caso de comutação VBA do Excel

No VBA Switch Case, quando precisamos verificar ou analisar logicamente uma condição e executar as diferentes linhas de códigos com base na mesma, usamos a instrução condicional IF-Else. Da mesma forma, há mais uma instrução Switch Case, mais conhecida como instrução Select Case, que pode verificar ou analisar as várias condições lógicas e executar as linhas de código com base nessas. Quando você tem três ou mais condições lógicas para verificar, é recomendável usar Select Case ou Switch Case em vez de uma instrução IF-Else convencional. Porque torna o Código VBA mais rápido e mais compreensível, em vez de instruções IF-Else aninhadas nesses casos.

Alternar maiúsculas / minúsculas

Alternar entre maiúsculas e minúsculas ou selecionar maiúsculas e minúsculas no VBA funciona em linhas semelhantes às das instruções IF-Else. Ele verifica as múltiplas expressões lógicas / condicionais em relação a diferentes valores (casos). Assim que qualquer um dos casos corresponder à condição (se torna verdadeira para a condição especificada), o sistema executa esse caso e os demais casos são ignorados para execução. No caso, existem dois casos verdadeiros para a condição especificada, apenas o primeiro será executado com a lei de precedência.

A sintaxe para Switch Case / Select Case é a seguinte:

Select Case
Case value_1
Code to Execute when Expression = value_1
Case value_2
Code to Execute when Expression = value_2
Case value_3
Code to Execute when Expression = value_3
.
.
.
Case value_n
Code to Execute when Expression = value_n
Case Else
Code to Execute when no case value meets the expression/logical test.
End Select

Onde,

Expressão: essa é uma expressão para a qual desejamos verificar ou analisar usando diferentes valores de caso.

value_1, value_2, value_3, … são as condições lógicas necessárias para a verificação da expressão especificada.

Como usar a instrução Switch Case no Excel VBA?

Aprenderemos como usar a instrução Switch Case no Excel usando o Código VBA.

Você pode fazer o download deste modelo de Excel de caso de switch VBA aqui - Modelo de Excel de caso de switch VBA

Caso do comutador VBA - Exemplo # 1

Verificaremos se o número fornecido é menor que 100 ou maior que 100. Para isso, siga as etapas abaixo:

Etapa 1: Insira um novo módulo dentro do Visual Basic Editor (VBE). Clique na guia Inserir > selecione Módulo.

Etapa 2: defina um novo subprocedimento no módulo inserido que possa conter sua macro.

Código:

 Sub switch_case_example1 () End Sub 

Etapa 3: defina uma nova variável chamada usrInpt, que pode conter o valor do usuário. Utilize a função VBA InputBox para criar uma caixa de entrada que aceite valores do usuário por meio da variável usrInpt .

Código:

 Sub switch_case_example1 () Dim usrInpt Aser inteiro usrInpt = InputBox ("Digite seu valor") End Sub 

Etapa 4: Use a instrução Select Case e forneça o valor fornecido pelo usuário através da variável usrInpt . Essa é a expressão que precisamos verificar com condições lógicas.

Código:

 Sub switch_case_example1 () Dim usrInpt Como inteiro usrInpt = InputBox ("Digite seu valor") Selecione Caso usrInpt End Sub 

Etapa 5: insira o primeiro teste lógico a ser verificado na instrução Case, conforme a seguir.

Código:

 Sub switch_case_example1 () Dim usrInpt Como inteiro usrInpt = InputBox ("Digite seu valor") Selecionar caso usrInpt O caso é <100 End Sub 

Etapa 6: Use a função MsgBox para adicionar uma mensagem de saída se Case Is <100 for true.

Código:

 Sub switch_case_example1 () Dim usrInpt Como inteiro usrInpt = InputBox ("Digite seu valor") Selecionar caso usrInpt O caso é <100 MsgBox "O número fornecido é menor que 100" End Sub 


Etapa 7: Agora, precisamos fornecer uma instrução executável quando o valor para usrInpt for maior que 100. Adicione um Case e MsgBox para conseguir isso.

Código:

 Sub switch_case_example1 () Dim usrInpt Como inteiro usrInpt = InputBox ("Digite seu valor") Selecionar caso usrInpt O caso é 100 MsgBox "O número fornecido é maior que 100" End Sub 

Etapa 8: E se o valor fornecido pelo usuário for exatamente o 100? Não temos nenhum caso adicionado para isso. Vamos adicionar o que dá ao usuário uma mensagem de que o valor digitado é 100.

Código:

 Sub switch_case_example1 () Dim usrInpt Como inteiro usrInpt = InputBox ("Digite seu valor") Selecionar caso usrInpt O caso é 100 MsgBox "O número fornecido é maior que 100" O caso é = 100 MsgBox "O número fornecido é 100" End Sub 

Etapa 9: precisamos finalizar a instrução Select Case. Use Finalizar seleção para finalizar o loop criado.

Código:

 Sub switch_case_example1 () Dim usrInpt Como inteiro usrInpt = InputBox ("Digite seu valor") Selecionar caso usrInpt O caso é 100 MsgBox "O número fornecido é maior que 100" O caso é = 100 MsgBox "O número fornecido é 100" End Select End Sub 

Etapa 10: Agora, execute esse código pressionando o botão Executar ou F5. Uma nova caixa pop-up aparecerá solicitando que o valor seja verificado. Vou inserir um valor como 110 e apertar o botão OK na caixa de entrada. Como o número digitado é maior que 100, assim que clicar em OK, uma nova mensagem será exibida na minha tela dizendo: “O número fornecido é maior que 100”.

Caso do comutador VBA - Exemplo # 2

Suponha que desejemos capturar a nota dos alunos com base em suas notas. Veja as etapas abaixo sobre como podemos conseguir isso.

Etapa 1: defina um novo subprocedimento chamado switch_case_example2 .

Código:

 Sub switch_case_example2 () End Sub 

Etapa 2: defina duas novas variáveis ​​- marcas como número inteiro e notas como uma string usando a instrução Dim no sub-procedimento criado.

Código:

 Sub switch_case_example2 () Marcas de escala como número inteiro Classes de dimensão como string End Sub 

Etapa 3: Use a função VBA InputBox através da qual o usuário pode inserir o valor para as marcas de variável.

Código:

 Sub switch_case_example2 () Marcas de escala como número inteiro Classes de dimensão como marcas de cadeia = InputBox ("Insira as marcas") End Sub 

Etapa 4: Use a instrução Select Case e forneça as marcas de variável como uma expressão a ser verificada.

Código:

 Sub switch_case_example2 () Marcas de escala como número inteiro Classes de escala como marcas de cadeia = InputBox ("Insira as marcas") Selecionar marcas de maiúsculas e minúsculas End Sub 

Como queremos atribuir as notas aos alunos com base nas notas que eles inserem, precisamos definir as notas primeiro.

Etapa 5: use a instrução case para verificar se as marcas são inferiores a 35. Nesse caso, atribua valor como "F" a notas variáveis.

Código:

 Sub switch_case_example2 () Marcas escuras como número inteiro Classes escuras como marcas String = InputBox ("Insira as marcas") Selecionar marcas de maiúsculas e minúsculas Caso seja <35 grades = "F" 

Etapa 6: se as marcas estiverem entre 35 e 45, atribua o valor como "D" às notas variáveis.

Código:

 Sub switch_case_example2 () Marcas escuras como número inteiro Classes escuras como marcas String = InputBox ("Insira as marcas") Selecionar marcas de caixa Case Is <35 grades = "F" Caixa 35 a 45 grades = "D" End Sub 

Etapa 7: Se as marcas inseridas estiverem entre 46 e 55, o valor "C" deve ser atribuído a notas variáveis.

Código:

 Sub switch_case_example2 () Marcas escuras como número inteiro Classes escuras como marcas String = InputBox ("Insira as marcas") Selecionar marcas de caixa Case Is <35 grades = "F" Caixa 35 a 45 notas = "D" Caixa 46 a 55 notas = "C" End Sub 

Etapa 8: quando as marcas estiverem na faixa de 56 a 65, o valor atribuído às classes variáveis ​​deve ser "B".

Código:

 Sub switch_case_example2 () Marcas escuras como número inteiro Classes escuras como marcas String = InputBox ("Insira as marcas") Selecionar marcas de caixa Case Is <35 grades = "F" Caixa 35 a 45 notas = "D" Caixa 46 a 55 notas = "C" Caso 56 a 65 graus = "B" End Sub 

Etapa 9: para notas entre 66 e 75, a nota deve ser "A".

Código:

 Sub switch_case_example2 () Marcas escuras como número inteiro Classes escuras como marcas String = InputBox ("Insira as marcas") Selecionar marcas de caixa Case Is <35 grades = "F" Caixa 35 a 45 notas = "D" Caixa 46 a 55 notas = "C" Caso 56 a 65 graus = "B" Caso 66 a 75 graus = "A" End Sub 

Etapa 10: se as marcas inseridas forem maiores que 75, a variável de notas deve receber um valor como "A +"

Código:

 Sub switch_case_example2 () Marcas escuras como número inteiro Classes escuras como marcas String = InputBox ("Insira as marcas") Selecionar marcas de maiúsculas e minúsculas Caso seja 75 notas = "A +" End Sub 

Etapa 11: Use End Select e feche o loop Select Case.

Código:

 Sub switch_case_example2 () Marcas escuras como número inteiro Classes escuras como marcas String = InputBox ("Insira as marcas") Selecionar marcas de maiúsculas e minúsculas É 75 notas = "A +" 

Etapa 12: Agora, precisamos verificar qual é a nota associada às notas que um aluno inseriu. Para conseguir isso, use a função MsgBox de forma que denote as notas obtidas dentro de uma caixa de mensagem.

Código:

 Sub switch_case_example2 () Marcas escuras como número inteiro Classes escuras como marcas String = InputBox ("Insira as marcas") Selecionar marcas de maiúsculas e minúsculas É 75 notas = "A +" MsgBox de seleção final "A nota alcançada é:" & notas End Sub 

Etapa 13: execute esse código pressionando o botão F5 ou Run e você poderá ver uma caixa de entrada VBA solicitando um valor de marca. Vou inserir as marcas como 72 e apertar o botão OK presente na caixa de entrada. Assim que eu pressionar o botão OK dentro da caixa de entrada, receberei uma caixa de mensagem indicando as notas associadas às marcas inseridas.

É assim que podemos usar a instrução Switch / Select Case no VBA.

Coisas para lembrar

  • Switch case é realmente um sinônimo para a instrução Select Case no VBA. Foi assim chamado porque, com a ajuda desta declaração, podemos alternar entre as diferentes saídas ao mesmo tempo.
  • Esta declaração pode ser usada como uma alternativa ao loop IF-Else sempre que tivermos três ou mais condições para verificar.
  • Tudo bem se você não usar o caso ELSE na instrução Selecionar caso. No entanto, nesse caso, você precisa garantir que pelo menos uma condição seja verdadeira ao longo do loop.

Artigos recomendados

Este é um guia para o VBA Switch Case. Aqui discutimos como usar a declaração de maiúsculas e minúsculas no Excel VBA, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Coleção VBA (exemplos)
  2. Instruções IF do VBA | Modelos do Excel
  3. Como usar a função de classificação Excel VBA?
  4. VBA While Loop (exemplos com modelo do Excel)
  5. Ambiente VBA