Índice:
- Exemplo de Exemplo de Seleção
- Conforme demonstrado no exemplo a seguir, você pode aniquilar as estruturas do Caso Seleto. Esta rotina examina a célula ativa e exibe uma mensagem descrevendo o conteúdo da célula. Observe que o procedimento possui três estruturas Select Case e cada uma possui sua própria instrução End Select:
Vídeo: EXCEL VBA BASICO - AULA 09 - SELECT CASE (APRENDA COM MASTER MR) 2025
A estrutura Select Case é uma estrutura VBA útil para decisões envolvendo três ou mais opções no Excel 2016 (embora também funcione com duas opções, fornecendo uma alternativa à estrutura If-Then-Else).
Exemplo de Exemplo de Seleção
O exemplo a seguir mostra como usar a estrutura Selecionar Caso:
Sub ShowDiscount3 () Quantidade Dim Como Desconto Dim Dim como Quantidade Dupla = InputBox ("Digitar Quantidade:") Selecionar Quantidade de Caso Caso 0 a 24 Desconto = 0. 1 Caso 25 a 49 Desconto = 0. 15 Caso 50 a 74 Desconto = 0. 2 Caso é> = 75 Desconto = 0. 25 Final Selecionar MsgBox "Desconto:" & Desconto Sub final > Neste exemplo, a variável Quantidade está sendo avaliada. A rotina verifica quatro casos diferentes (0-24, 25-49, 50-74 e 75 ou superior).
Sub ShowDiscount4 () Dim Quantity As Dim Dim Discount As Double Quantity = InputBox ("Digite a quantidade:") Selecione a quantidade do caso Case 0 To 24: Discount = 0. 1 Case 25 To 49: Desconto = 0. 15 Case 50 a 74: Discount = 0. 2 Caso é> = 75: Discount = 0. 25 Final Selecione MsgBox "Discount:" & End End Sub
Quando o VBA executa uma estrutura Select Case, a estrutura é encerrada logo que a VBA encontra um caso verdadeiro e executa as declarações para esse caso.
Conforme demonstrado no exemplo a seguir, você pode aniquilar as estruturas do Caso Seleto. Esta rotina examina a célula ativa e exibe uma mensagem descrevendo o conteúdo da célula. Observe que o procedimento possui três estruturas Select Case e cada uma possui sua própria instrução End Select:
Sub CheckCell () Dim Msg como String Select Case IsEmpty (ActiveCell) Case True Msg = "está em branco. "Case Else Select Case ActiveCell. HasFormula Case True Msg = "tem uma fórmula" Case Else Select Case IsNumeric (ActiveCell) Case True Msg = "tem um número" Case Else Msg = "tem texto" End Select End Select End Select MsgBox "Cell" e ActiveCell. Endereço & "" & Msg End Sub
A lógica é algo assim:
-
Se não estiver vazio, veja se contém uma fórmula.
-
Se não houver fórmula, descubra se ela contém um valor numérico ou texto.
-
Quando a rotina termina, a variável Msg contém uma seqüência de caracteres que descreve o conteúdo da célula. A função MsgBox exibe essa mensagem.
Uma mensagem exibida pelo procedimento CheckCell.
Se você ainda não está convencido de que o código de recuo vale o esforço, a listagem anterior serve como um bom exemplo. Os entalhes realmente para tornar os níveis de nidificação claros. Dê uma olhada no mesmo procedimento sem qualquer indentação:
Sub CheckCell () Dim Msg Como String Select Case IsEmpty (ActiveCell) Case True Msg = "está em branco. "Case Else Select Case ActiveCell. HasFormula Case True Msg = "tem uma fórmula" Case Else Select Case IsNumeric (ActiveCell) Case True Msg = "tem um número" Case Else Msg = "tem texto" End Select End Select End Select MsgBox "Cell" e ActiveCell. Endereço & "" & Msg End Sub
Bastante incompreensível, hein?
