Como usar a declaração Select Case no VBA? (Exemplos)

Excel VBA Select Case Statement

Select Case é um substituto de escrever várias instruções if no VBA, quando temos muitas condições em um código, podemos ter que usar várias instruções If e que pode ser tedioso, pois se torna mais complexo à medida que mais instruções If são fornecidas, em selecionar declaração de caso, definimos os critérios como casos diferentes e resultados de acordo com eles.

SELECT CASE auxilia na tomada de decisão. Neste, apenas uma expressão é usada para avaliar os diferentes casos possíveis. Múltiplas condições são analisadas facilmente para executar o código desenvolvido. Esta declaração case é usada como uma declaração substituta para ELSE IF para avaliar expressões. É classificado como uma função lógica embutida no Excel. Para usar esta função, o código é inserido por meio do editor visual basic apresentado na guia do desenvolvedor.

Explicação

Vários grupos de instruções são usados ​​no Select Case. A sintaxe a seguir deve ser seguida para usar isso com eficácia. É semelhante à instrução switch apresentada em outras linguagens de programação, como Java, C # e PHP.

Selecione (Caso) Expressão para teste (Caso) Lista de Declarações de Expressão (Caso 1, Caso 2, Caso 3 e assim por diante …) Caso Else (Instruções Else) Fim Selecione

A explicação dos termos associados ao caso selecionado é fornecida a seguir.

Uma expressão para teste: é necessária para avaliar os diferentes tipos de dados, como inteiro, string, booleano, objeto e caractere.

Lista de expressões: as expressões são criadas com o caso para encontrar a correspondência exata da entrada inserida. Se houver mais de duas expressões, elas serão separadas pelo operador vírgula. 'Is' é uma palavra-chave utilizada na comparação das duas expressões usando os operadores lógicos no Excel, como =,, =.

  • End Select: fecha a definição de caso de seleção do construtor
  • Declarações: as declarações são desenvolvidas usando o caso para executar as expressões que são avaliadas para analisar se há alguma declaração correspondente
  • Declarações Else: É para testar a declaração else quando a expressão de teste não corresponde a nenhuma declaração case.

Como usar a declaração Select Case do VBA?

O recurso de seleção de caso fornecido pelo VBA não é executado nas planilhas normais. Precisamos usar a opção Visual Basic na guia Desenvolvedor. Funções definidas pelo usuário e codificação são criadas no modo de desenvolvedor para executar vários pequenos aplicativos no campo de negócios.

É usado em situações em que há instruções if aninhadas no Excel. É a melhor opção para lidar com uma variedade de declarações de casos. Para usar esta opção com eficácia, as seguintes tarefas devem ser executadas.

  • Em primeiro lugar, ele precisa criar uma macro, colocando o controle do botão de comando na planilha do Excel.
  • Depois disso, clique com o botão direito do mouse no botão de comando e selecione a opção de visualização do código.
  • Coloque o código entre a função do botão de comando e o sub final.
  • Depure o código para identificar quaisquer erros de sintaxe.
  • Compile o código para encontrar erros de compilação para executar o programa com sucesso
  • Altere os valores de entrada para observar resultados diferentes com base nos critérios de correspondência

Exemplo # 1 - Declaração Simples Select Case

Este exemplo é para entender o caso de seleção simples para encontrar o valor correspondente.

Código:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Select Case A Case 10 MsgBox "First Case is match!" Caso 20 MsgBox "O segundo caso é compatível!" Caso 30 MsgBox "O terceiro caso é correspondido em Select Case!" Caso 40 MsgBox "O quarto caso é correspondido em Select Case!" Case Else MsgBox "Nenhum dos casos corresponde!" End Select End Sub

Resultado:

Quatro declarações de caso e outra declaração de caso são usadas para comparar a expressão de teste com casos diferentes. No presente exemplo, o segundo caso é correspondido porque a variável A corresponde a 20.

Exemplo # 2 - palavra-chave 'Para' para testar as notas

Este exemplo explica o uso da palavra-chave 'Para' com o caso selecionado.

Código:

Sub particular Selcasetoexample () Dim studentmarks As Integer studentmarks = InputBox ("Inserir marcas entre 1 a 100?") Selecionar Case studentmarks Caso 1 a 36 MsgBox "Fail!" Caso 37 a 55 MsgBox "C Grade" Caso 56 a 80 MsgBox "B Grade" Caso 81 a 100 MsgBox "A Grade" Case Else MsgBox "Fora do intervalo" End Select End Sub

Resultado:

A palavra-chave 'To' é útil para definir o conjunto de expressões de teste em um intervalo. É útil para encontrar a nota obtida por um aluno, comparando os diferentes casos. Depois de executar o programa, temos que inserir o valor para obter o resultado.

A saída é exibida com uma caixa de mensagem, conforme mostrado na captura de tela acima.

Exemplo # 3 - Usando a palavra-chave 'É' com caixa selecionada

Este exemplo demonstra o uso da palavra-chave 'Is' com o caso selecionado.

Código:

Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Digite um número") Selecione Case NumInput Case Is = 200 MsgBox "Você digitou um número maior ou igual a 200" End Select End Sub

A palavra-chave 'Is' ajuda a encontrar os valores correspondentes apenas com instruções case. Ele compara a expressão de teste com a entrada fornecida para produzir a saída.

A saída é obtida conforme mostrado na figura se o valor inserido for superior a 200

Exemplo # 4 - Com o botão de comando para alterar os valores

O caso de seleção também é usado com o botão de comando, criando uma macro.

Código:

Sub cor () Cor esmaecida As String color = Range ("A1"). Value Select Case color Case "Red", "Green", "Yellow" Range ("B1"). Value = 1 Case "White", "Black Faixa "," Brown "(" B1 "). Valor = 2 Case" Blue "," Sky Blue "Range (" B1 "). Value = 3 Case Else Range (" B1 "). Value = 4 End Select End Sub

Conforme mostrado no programa, a entrada é obtida das células da planilha. O programa é executado após clicar no botão de comando usado nos controles ActiveX. Nesse caso, um separador de vírgula é usado para combinar as expressões de teste.

Quando o valor na Célula A1 é alterado, isso resulta em uma alteração na célula B1 também executando a macro do Excel por meio do botão de comando. Você pode consultar a imagem fornecida abaixo: -

Exemplo # 5 - Verifique um número ímpar ou par

Este exemplo para ajudar a verificar se um número é par ou ímpar.

Código:

Sub CheckOddEven () CheckValue = InputBox ("Insira o número") Selecione Case (CheckValue Mod 2) = 0 Case True MsgBox "O número é par" Case False MsgBox "O número é ímpar" End Select End Sub

A codificação é desenvolvida, conforme mostrado na captura de tela, e a saída é exibida como segue quando até mesmo o número é inserido.

Exemplo # 6 - Instruções de caso de seleção aninhada

O aninhamento é um recurso útil do caso selecionado e mostra a maneira como isso é feito.

Código:

Sub TestWeekday () Select Case Weekday (Now) Case 1, 7 Select Case Weekday (Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sub

Aqui, o caso selecionado é definido dentro de outro caso selecionado para testar um dia, dia da semana ou fim de semana. Exceto para os casos 1 e 7 restantes, todos são dias da semana (Observação: o caso 1 é domingo e o caso 7 é sábado)

Coisas para lembrar

  • A palavra-chave 'Is' usada na instrução de (case) e (case else) não são iguais.
  • O controle ActiveX deve ser usado na execução do programa por meio de um botão de comando, obtendo a entrada e exibindo a saída no intervalo de células da planilha do Excel.
  • É difícil executar os programas em VBA se as macros estiverem desabilitadas e sempre habilitar as macros para obter os melhores resultados.
  • O VBA diferencia maiúsculas de minúsculas e a entrada deve ser inserida com precisão para obter melhores resultados.

Artigos interessantes...