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
A segunda estrutura de decisão que iremos estudar é conhecida como switch.
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 switch 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, então default é executado. O default é opcional e você pode ter quantos Cases for necessário.
A cada Case é preciso declarar o break, senão o programa continua avaliando todos os Cases.
Veja o exemplo:
Primeiro criamos uma variável do tipo int 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 default. No próximo exemplo vamos apenas programar o uso do default:
Aqui se o resultado da expressão de teste não for verdadeiro em nenhum Case, então será executado o default, 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 Tutorial10, 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 switch e demos a ela como expressão de teste o valor do item selecionado na listBox1. Usamos o método Convert para converter para string o valor obtido da 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, e assim sucessivamente até Novembro. Note que só implementamos código em Novembro, agrupamos assim quando os cases forem executar o mesmo bloco de código. Se o valor da expressão não se enquadrar em nenhum item da lista então ele vai para o default que executa o código com a mensagem de que o mês possui 31 dias.
6 – Vamos fazer uma mudança no nosso switch agora, siga o exemplo abaixo:
Neste exemplo, ao invés de pegarmos o texto selecionado no listBox agora estamos pegando o índice.
O í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.
Lembre-se do seguinte a respeito do switch:
» O switch deixa o código mais estruturado em relação ao uso de vários else if seguidos;
» Você só pode usar o switch com tipos de dados primitivos, como: (int, long, float, double, decimal, string, char, bool). Para usar outros tipos de dados use o if;
» A expressão do case precisa ser uma expressão única, em outras palavras, não é permitido escrever duas expressões em um mesmo case.
» Você precisa repetir a sintaxe do case para cada valor individual que você quer avaliar, mesmo que ele execute o mesmo bloco de código, veja o ultimo exemplo.
Você deve usar o break após cada bloco de código senão ele vai continuar avaliando os outros cases.
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