NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
FILTRO DE TUTORIAIS:
A segunda estrutura de decisão que iremos estudar é conhecida como Select Case.
Essa estrutura de decisão seleciona o código a ser executado baseado no valor de uma expressão.
A sintaxe é a seguinte:
O funcionamento ocorre da seguinte maneira: a expressão é obtida no Select Case e para cada Case existe uma condição a ser validada. Caso o Case seja verdadeiro, então a linha ou o bloco de código é executado. Se nenhum dos Cases for válido, você pode usar o Case Else. O Case Else é opcional e você pode ter quantos Cases for necessário.
Veja o exemplo:
Primeiro criamos uma variável do tipo integer e atribuímos a mesma o valor 3.
A seguir iniciamos a estrutura colocando como expressão de teste o valor da variável.
O primeiro Case verifica se o valor da variável ou expressão de teste é 1. Se for o código que escreve na tela o texto Domingo é executado e a estrutura é finalizada não verificando os outros Cases. Caso contrario ele vai pro próximo case e segue como o primeiro até o fim da estrutura. Se nenhum dos cases se enquadrar no valor da expressão de teste nenhum código será executado, para isso que serve o Else. No próximo exemplo vamos apenas programar o uso do Else:
Aqui se o resultado da expressão de teste não for verdadeiro em nenhum Case, então será executado o Case Else, escrevendo na tela que o valor informado é invalido, o que não é o caso para o nosso exemplo, já que o valor da expressão se enquadra no Case 3 escrevendo Terça-Feira.
Para entender ainda melhor vamos fazer um exemplo no Visual Studio. Esse exemplo lista todos os meses do ano e quando selecionado um mês ele exibe uma mensagem na tela com o numero de dias que o mês selecionado possui.
1 - Crie um novo projeto chamado Tutorial7, do tipo Windows Application.
2 – Arraste um ListBox para o Form1. Na propriedade Items na janela Properties digite todos os meses do ano como abaixo:
O Form1 vai ficar assim:
3 – De um clique duplo sobre o ListBox1 e digite o seguinte código:
Vai ficar assim:
4 – Execute a aplicação (pressione F5).
5 – Clique sobre um mês, por exemplo, Fevereiro, note a janela que exibe o numero de dias que tem esse mês.
Nosso exemplo é simples, criamos uma estrutura Select Case e demos a ela como expressão de teste o valor do item selecionado na ListBox1.
O primeiro Case verifica se o item selecionado ou valor da expressão é Fevereiro. Se sim então mostra a caixa de dialogo com a mensagem dizendo que o mês possui 28 dias, senão vai para o próximo Case que verifica se o item selecionado é Abril, ou Junho, ou Setembro, ou Novembro. Note que separamos cada um com virgula, podemos colocar várias expressões em cada Case, basta separá-las com virgula. Se o valor da expressão não se enquadrar em nenhum item da lista então ele vai para o Case Else que executa o código com a mensagem de que o mês possui 31 dias.
6 – Vamos fazer uma mudança no nosso Select Case agora, siga o exemplo abaixo:
Ao invés de pegarmos o texto selecionado no ListBox agora estamos pegando o índice.
Índice é um numero que é atribuído a cada valor na lista começando por zero, então Janeiro tem índice 0, Fevereiro 1 e assim por diante.
Como sabemos que Janeiro é o primeiro mês do ano e fevereiro o segundo e assim por diante adicionamos 1 ao valor do índice. Isso apenas para não confundirmos.
Veja mais esse exemplo:
Não é o caso no nosso exemplo, mas se precisamos verificar se um numero esta entre 4 e 10 por exemplo, incluindo o numero 4 e 10 não precisamos colocar todos os numero separados por virgula, podemos fazer como acima digitando apenas o primeiro e ultimo numero, usando a palavra reservada to.
O código acima verifica se o valor da expressão é maior que 10, para fazer esse tipo de comparação sempre use a palavra reservada Is seguida de um Operador (=, <>, <, <=, >, >=).
Lembre-se do seguinte a respeito do Select Case:
» A expressão de teste precisa ter como resultado algum dos seguintes tipos:
(Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, Short, Single, String).
» Múltiplas expressões em um case devem ser separadas por virgula.
» Use a palavra reservado To para especificar um range de valores, o primeiro valor deve ser menor ou igual ao segundo valor.
» Use a palavra reservada Is com operadores de comparação.
As duas principais estruturas de decisão são o If e o Select Case. Para finalizar vamos apresentar algumas opções que podem ser usadas para facilitar na operação das decisões:
Option Compare
Option Compare é usado para alterar a maneira que são comparadas strings ou textos. Ele pode ser Binary ou Text. Se for Binary (que é o padrão) então entre uma comparação “AAA” e “aaa”, por exemplo, “AAA” seria menor que “aaa”, já se a comparação for Text “AAA” é igual a “aaa”.
Se nada for especificado as comparações são do tipo Binary que é o padrão.
Mas se você desejar mudar pode colocar Option Compare Text ou Option Compare Binary no inicio do código.
End
O End termina uma execução completamente, pode ser usado como no seguinte exemplo:
Choose
Choose retorna o valor baseado em um índice, como no exemplo:
No exemplo acima Choose retorna “Maça”, porque o índice 2 corresponde a “Maça”, se o índice fosse 1 como o exemplo abaixo retornaria “Pêra”.
Lembrando que o índice começa com 0 e é sempre do tipo integer. Podemos passar o índice através de uma variável.
IIf
IIF é usada com freqüência no lugar do If para comparações mais simples, exemplo de uso:
Se variável de teste for maior que 1000 então ele retorna “Grande”, senão retorna “Pequeno”.
Confira todos os artigos de Certificações .NET:
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2025 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI