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

Você está em: PrincipalArtigosCertificacoes : Programandovbnet008
Quer receber novidades e e-books gratuitos?

Programando com VB.NET

 

ESTRUTURAS DE REPETIÇÃO

 

As estruturas de repetição – também conhecidas como estruturas de looping – permitem que você execute uma linha ou bloco de código repetidamente até que uma condição seja verdadeira.

 

O uso de loopings nos programas é uma prática comum, pois em muitos casos é preciso percorrer uma determinada coleção de dados, um conjunto de registros, valores de matrizes, etc.

 

WHILE

 

O looping While é executado sempre associado a uma condição, ou seja, a cada passagem pelo looping a condição é avaliada. Veja a sintaxe a seguir:

 

While condição

    código

End While

 

Vamos fazer um exemplo para você compreender melhor o funcionamento do while.

 

1 - Crie um novo projeto no Visual Studio, novamente do tipo Windows Application, chame o projeto de while.

 

 

2 - Adicione no Form1 os seguintes controles:

 

» 1 Button

» 1 TexBox

 

3 - Mude a propriedade Text do Button1 para “Loop”.

 

4 - Mude as seguintes propriedades do TextBox1:

 

Text = “vazio”

Multiline = True

ScrollBars = Vertical

 

5 - Organize os controles como a figura abaixo:

 

 

6 - De um clique duplo sobre o Button1 e digite o seguinte código:

 

Dim Contador As Integer = 0

Dim Quebra As String = Chr(13) & Chr(10)

While Contador < 20

Contador += 1

TextBox1.Text += Contador & Quebra

End While

 

Vai ficar assim:

 

 

7 - Execute a aplicação.

 

 

8 - Clique no botão loop.

 

Verifique que o nosso programa escreve os números de 1 a 20, um embaixo do outro.

 

 

Esse é nosso código, vamos estudá-lo um pouco:

 

Dim Contador As Integer = 0

Dim Quebra As String = Chr(13) & Chr(10)

While Contador < 20

Contador += 1

TextBox1.Text += Contador & Quebra

End While

 

Na primeira linha declaramos uma variável chamada contador do tipo integer e atribuímos a essa variável o valor 0.

 

Na segunda declaramos uma segunda variável chamada quebra do tipo String, e armazenamos nela uma string que representa o pressionamento da tecla Enter, isso é responsável por fazer com que o próximo numero seja exibido na linha debaixo, sem isso os números ficariam um seguido do outro, faça o teste.

 

A terceira linha começa o While com a condição. Essa linhar quer dizer enquanto contador for menor que 20, ou seja ele vai executar o loop ou o código que esta entre While e End While até que o conteúdo da variável contador seja igual ou maior que 20.

 

A linha 4 soma 1 ao conteúdo da variável contador, a linha a seguir tem o mesmo significado:

 

Contador = Contador + 1

 

Entretanto da forma que fizemos no nosso exemplo é mais elegante porque não precisamos repetir o nome da variável, se apenas fizéssemos assim:

 

Contador = 1

 

Ele atribuiria 1 ao conteúdo da variável e o nosso looping se tornaria um loop infinito ou seja nunca ia parar de rodar porque nunca entraria na condição que o faz parar. Cuidado com esse tipo de loop, seus loops nunca devem ser infinitos.

 

A linha 5 atribui ao TextBox o valor da variável contador concatenado com o valor da variável quebra que simula o enter como especificado acima.

 

A linha 6 finaliza o While.

 

Repare que após o numero 20 no programa tem uma linha em branco. Isso é porque sempre é inserida uma linha no TextBox quando chamada a variável Quebra.

 

DO...LOOP

 

O Do...Loop é semelhante ao while, ou seja, é executado sempre associado a uma condição, novamente a cada passagem pelo looping a condição é avaliada. Só que o Do...Loop permite que dependendo da situação, a condição possa ser colocada no início ou no final do looping. Se for ao início, é avaliada logo na primeira vez; se for no final, o looping é executado pelo menos a primeira vez, pois a condição será avaliada no final da primeira passagem pelo looping. Caso precise abandonar o looping, use o Exit Do, que é opcional. Veja a sintaxe tanto com a condição no começo como no final:

 

Do { While | Until } condição

    código

    Exit Do

Loop

 

ou

 

Do

    código

    Exit Do

    Loop { While | Until } condição

 

Depois do Do, você pode usar o While ou o Until, a diferença é que o While faz com que o loop seja executado até que a condição seja (falsa), e o Until até que a condição seja True (Verdadeira).

 

Vamos fazer uma modificação no exercício anterior para compreender como funciona o Exit Do.

 

1 - Se o exemplo anterior não estiver aberto no Visual Studio, abra-o.

 

2 - Vá para o código do button1, ele deve ser o seguinte:

 

        Dim Contador As Integer = 0

        Dim Quebra As String = Chr(13) & Chr(10)

        While Contador < 20

            Contador += 1

            TextBox1.Text += Contador & Quebra

        End While

 

3 - Mude para o seguinte:

 

        Dim Contador As Integer = 0

        Dim Quebra As String = Chr(13) & Chr(10)

        Do While Contador < 20

            Contador += 1

            If Contador = 10 Then

                Exit Do

            End If

            TextBox1.Text += Contador & Quebra

        Loop

 

Perceba que as modificações foram mínimas, apenas colocamos o Do antes do While, substituímos o End While por Loop, transformando assim o simples While em um Do...Loop. Após inserimos um If que verifica se o conteúdo da variável contador é 10, se for ele executa o Exit Do que finaliza imediatamente o loop.

 

4 - Execute a aplicação:

 

5 - Clique em Loop.

 

 

Perceba que ele nem chega a escrever o numero 10 por que a linha de código que é responsável por isso esta depois do If que finalizou o loop.

 

Se você fizer a seguinte modificação ele escreve o 10 antes de finalizar.

 

        Dim Contador As Integer = 0

        Dim Quebra As String = Chr(13) & Chr(10)

        Do While Contador < 20

            Contador += 1

            TextBox1.Text += Contador & Quebra

            If Contador = 10 Then

                Exit Do

            End If

        Loop

 

6 - Agora mude o comando While para Until como a linha abaixo:

 

      Do Until Contador < 20

 

7 - Execute a aplicação.

 

8 - Clique em Loop.

 

Nada acontece, não é mesmo? Isso porque o Until executa até que a expressão seja True. Como ela já é true nem chega a executar o loop.

 

9 - Você pode negar a expressão para ela executar, faça isso, mude a linha do Do Until... para a seguinte:

 

      Do Until Not Contador < 20

 

10 - Execute a aplicação novamente e clique em Loop.

 

Agora executa normalmente.

 

11 - Agora tire o not e coloque a expressão no final do loop como o código a seguir:

 

        Dim Contador As Integer = 0

        Dim Quebra As String = Chr(13) & Chr(10)

        Do

            Contador += 1

            If Contador = 10 Then

                Exit Do

            End If

            TextBox1.Text += Contador & Quebra

        Loop Until Contador < 20

 

12 - Execute a aplicação.

 

Se a expressão estivesse encima nada apareceria, como no exemplo acima, mas agora aparece o 1, isso porque ele executou uma vez o loop antes de avaliar a expressão, algumas vezes esse tipo de loop pode ser necessário. Fique atento.

 

Conclusão:

 

Neste tutorial você aprendeu o que é estrutura de decisão e como utilizar as estruturas While e Do...Loop.

 

Quer receber novidades e e-books gratuitos?

 
 

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