Hoje eu quero te mostrar a estrutura VBA Select Case para que você possa substituir o IF e Else na hora de fazer várias comparações!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso Canal do YouTube para mais vídeos!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala, Impressionadores! Na aula de hoje você vai aprender sobre VBA Select Case!
A ideia aqui é que você aprenda a fazer comparações no VBA utilizando o método Select Case, que é uma alternativa em relação ao If Else.
Curioso sobre ele? Vem com a gente!
O que é Select Case no VBA?
A instrução Select Case é uma das formas de realizar comparações eficientes no VBA. É uma função/método que vai nos permitir escolher opções.
Com ela, você pode inserir uma condição a ser verificada, e preparar cenários de resposta.
Caso uma das condições em questão sejam verdadeiras, as instruções/ações de resposta para essa condição ser verdadeira serão executadas somente, e somente elas.
As demais comparações e respectivas respostas serão ignoradas pela estrutura, por definição.
Ela é interessante no caso de várias condições a serem testadas para um mesmo cenário de resposta, ou para números em intervalos.
Sua sintaxe padrão é algo parecido com o mostrado a seguir:
Select Case expressãodeteste
[ Case listadeexpressões-n [ instruções-n ]]
[ Case Else [ instruções Else ]]
End Select
Como usar o Select Case?
Para exemplificar como usar o Select Case no VBA preparamos um caso prático. A seguir temos uma tabela com DDD e o respectivo local (Estado), que corresponde ao seu DDD.
A ideia com esse caso prático é que, com o código abaixo, vamos colocar o DDD, e ele vai retornar qual o Estado correspondente. Acompanhe:
Sub selectCase() Select Case Range("B7").Value Case Range("A2").Value Range("B8").Value = Range("B2").Value Case Range("A3").Value Range("B8").Value = Range("B3").Value Case Range("A4").Value Range("B8").Value = Range("B4").Value Case Range("A5").Value Range("B8").Value = Range("B5").Value Case Else Range("B8").Value = "Essa opção não está listada" End Select End Sub
Comentários a respeito do código:
Seguem exemplos de Select Case no VBA com nosso código funcionando:
Select Case é melhor do que If Else?
Resumidamente: em planilhas e códigos simples, não há diferenças. Vai da sua preferência por uma estrutura ou por outra. Em termos de performance, a estrutura If é um ligeiramente mais rápido.
A estrutura de comparação Select Case é bastante útil quando você tem várias condições que deseja verificar, sem a necessidade de usar várias instruções If Then Else aninhadas (uma dentro da outra).
OBS: Caso queira aprender com mais detalhes sobre a estrutura If, recomendamos outro post aqui do blog sobre ela!
Nesse post você viu na prática o que são métodos no VBA, com a estrutura Select Case!
Com ela você vai poder escolher opções baseadas em condições, e personalizar respostas!
Viu também uma rápida comparação com uma outra famosa estrutura: a estrutura If Else.
Até mais, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA!
Para acessar outras publicações de VBA, clique aqui!
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.