Como usar o loop do while no vba?

VBA Do while é um loop onde você precisa especificar uma condição e essa condição deve permanecer verdadeira para que o loop seja executado. Em palavras simples, primeiro ele verifica se a condição que você especificou é verdadeira ou não e se essa condição for verdadeira ele executa o loop, caso contrário, nada.

A cada iteração ele testa a condição e só então executa a instrução. Imagine que você deseja adicionar planilhas no Excel, mas a contagem total de planilhas é 12 ou menos. Nesse caso, você pode usar o loop do-while para escrever este código.

Sintaxe

Aqui está a sintaxe VBA para cada loop subsequente.

 Do While Condition [statements] Loop
instrução de condição vba-do-while-loop
  1. Condição: esta é a condição que você especifica e deve ser verdadeira para executar o loop.
  2. Instrução : A(s) linha(s) de código nas quais você deseja que o loop Do While execute a condição é verdadeira.
  3. Loop : Esta é a instrução final de uma iteração do loop e diz ao VBA para voltar para testar a condição novamente.

Exemplo para entender o loop DO While

Para entender o Do While Loop, vamos escrever um código para adicionar planilhas a uma pasta de trabalho quando o número total de planilhas for menor que doze. Você não precisa informar ao VBA quantas planilhas adicionar e sempre terá um total de 12 planilhas cada vez que executar este código.

Use as seguintes etapas:

  1. Primeiro de tudo, você precisa digitar “Do While” no teclado.
    type-the-keyword-do-while
  2. Em seguida, você precisa escrever uma condição que possa verificar se o número total de planilhas na pasta de trabalho é menor que doze.
  3. Para fazer isso, você precisa usar o código abaixo, que conta o número total de planilhas e depois compara com o número doze.
    condition-to-check-worksheets
  4. Em seguida, você precisa escrever o código para adicionar uma planilha. Este código será executado quando a condição que você especificou for verdadeira.
    code-to-add-worksheet
  5. E, ao final, digite a palavra-chave “Loop” para completar o código.
    type-loop-to-end-the-code

Aqui está o código completo que você acabou de escrever:

 Sub vba_do_while_loop() Do While ActiveWorkbook.Worksheets.Count < 12 Sheets.Add Loop End Sub

Agora deixe-me explicar como esse código funciona: A condição que você especificou verifica o número total de planilhas na pasta de trabalho e, em seguida, você tem um operador menor que que verifica o número de planilhas em relação a doze.

Quando o número de planilhas for menor que doze, o loop continuará a ser executado e adicionará novas planilhas, mas quando o número de planilhas atingir doze, o loop irá parar.

Em termos simples, o loop continuará a ser executado enquanto o número de planilhas for menor que doze.

exemplo de loop do-while

O problema é o seguinte: com o código que você acabou de escrever, você não precisa especificar o número de planilhas que deseja adicionar, mas se for para o próximo loop, você precisa especificar o número de planilhas de cálculo que deseja adicionar.

Faça um loop para

Do Loop While é uma versão estendida do Do While Loop, pois funciona da mesma forma, mas há uma pequena diferença ao testar a condição.

In Do Loop While ele executa uma iteração do loop antes de testar a condição que você especificou e se a condição for verdadeira, ele continuará em loop.

Digamos que você queira escrever algum código para verificar uma senha para executar algum código e continuar fazendo o loop enquanto a senha estiver incorreta (vemos isso no exemplo).

Sintaxe

Aqui está a sintaxe do VBA Do Loop While.

sintaxe para vba-do-loop-while
  1. Do: esta é a palavra-chave inicial do loop Do While.
  2. Instrução: Esta é a(s) linha(s) de código que você deseja executar no loop.
  3. Loop While: Esta é a palavra-chave para continuar o loop e testar a condição que você especificou.
  4. Condição: esta é a condição que você deseja testar antes que o loop comece sua segunda iteração e continue o loop.

Como você pode ver na sintaxe de Do Loop While, ele primeiro executará a instrução uma vez, depois irá para a condição e a testará, e se essa condição for verdadeira, ele iniciará o loop e continuará enquanto a condição for verdadeiro.

Exemplo para entender o loop DO while

Para entender o loop do while, vamos escrever um código para exibir uma caixa de entrada e pedir ao usuário que digite a senha.

Esta caixa de entrada continuará mostrando claramente que a senha digitada pelo usuário está incorreta por até cinco tentativas e depois disso a caixa de entrada desaparecerá sem a realização do procedimento.

  1. Primeiro, declare duas variáveis necessárias para armazenar a senha e o contador de tentativas.
    declare-two-variables-you-need-for-storing
  2. Depois disso, digite a palavra-chave “Do”. Aqui você não precisa definir a condição primeiro, como viu na sintaxe.
    type-the-do-keyword
  3. Em seguida, você precisa escrever uma linha de código para exibir a caixa de entrada que solicita ao usuário que insira a senha.
    write-a-line-of-code
  4. A partir daqui, você precisa definir um contador que possa contar até cinco (somado a cada iteração do loop).
    define-a-counter
  5. Agora digite a palavra-chave “Loop While” e defina duas condições que podem verificar o valor inserido pelo usuário e na caixa de entrada e podem testar o valor do contador se for menor que 5.
    type-keyword-loop-while-and-define-two-condition
  6. No final, escreva o código que deseja executar. Aqui estou usando a instrução IF que exibirá uma caixa de mensagem se a senha inserida pelo usuário estiver correta.
    write-the-code-you-want-to-run
 Sub vba_do_loop_while() Dim varPassword As Variant, i As Double Do varPassword = InputBox _ ("Enter the password to start the procedure:", _ "Check Password 1.0") i = i + 1 Loop While varPassword <> "CorrectPassword" And i < 5 If varPassword = "CorrectPassword" Then MsgBox "Your Password is Correct" End If End Sub

Deixe-me explicar esse código para você.

  • Na primeira parte deste código você tem o loop do while que exibirá uma caixa de entrada para o usuário e solicitará uma senha .
  • E se a senha estiver incorreta, ele continuará executando o loop até que o usuário insira a senha correta.
  • Mas como você está usando um contador para contar as iterações do loop e quando esse contador chegar a 5, o loop irá parar .

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *