Loop VBA Do While do Excel

O loop Do While significa fazer algo enquanto a condição é TRUE. É como uma função lógica que funciona com base em VERDADEIRO ou FALSO. Portanto, se a condição for TRUE, continuará executando a instrução dentro do loop, mas se a condição for FALSE imediatamente, sairá da instrução Do While. O funcionamento do VBA Do While Loop é mostrado na figura abaixo.

Sintaxe de fazer enquanto loop no VBA Excel

O Loop Do While possui dois tipos de sintaxe no Excel VBA.

Ambos parecem muito semelhantes e há uma diferenciação simples neles.

Na primeira sintaxe, o loop “Do While” verifica primeiro a condição e fornece o resultado da condição como TRUE ou FALSE. Se a condição for TRUE, ele executará o código e executará uma tarefa especificada e, se a condição for FALSE, sairá do loop.

Na segunda sintaxe, o loop “Do” primeiro executa o código e depois testa se a condição é TRUE ou FALSE. Se a condição for VERDADEIRA, ela voltará novamente e executará a mesma tarefa. Se a condição for FALSE, ela sairá imediatamente do loop.

Exemplo de loop VBA do Excel do While

Se você não entendeu nada da parte da teoria, nada se preocupe. Explicarei a você o conjunto simples de exemplos para ter um conhecimento justo sobre esse loop.

Você pode fazer o download deste modelo do Excel do VBA do loop enquanto aqui - Modelo do Excel do VBA do loop enquanto

Agora, executaremos a tarefa de inserir os 10 primeiros números de série da célula A1 a A10. Siga as etapas abaixo para aplicar o loop "Do While".

Passo 1:

Crie um nome de macro primeiro.

Código:

 Sub Do_While_Loop_Example1 () End Sub 

Passo 2:

Defina uma variável como "Long". Eu defini "k" como um tipo de dados longo.

Código:

 Sub Do_While_Loop_Example1 () Dim k Como Long End Sub 

Etapa 3:

Agora digite a palavra "Faça enquanto". E depois de iniciar o nome do loop, insira a condição como "k <= 10".

Código:

 Sub Do_While_Loop_Example1 () Dim k Enquanto durar enquanto k <= 10 End Sub 

Passo 4:

Agora, usando a propriedade CELLS, vamos inserir números de série.

Código:

 Sub Do_While_Loop_Example1 () Dim k As Longa Duração Enquanto k <= 10 Células (k, 1) .Value = k End Sub 

Nota: Aqui a variável "k" começa em 1, portanto, no primeiro valor de k é igual a 1. Onde quer que "k" exista, é igual a 1.

Etapa 5:

Agora feche o loop digitando a palavra "LOOP".

Código:

 Sub Do_While_Loop_Example1 () Dim k As Longa Duração k <= 10 Células (k, 1) .Value = k Loop End Sub 

Ok, terminamos. Para uma melhor compreensão, vamos testar esse código um por um pressionando a tecla F8 uma vez.

Primeiro pressione a tecla F8, destacará o nome da macro na cor amarela.

Agora, mais uma vez, pressione a tecla F8; Coloque o cursor em “k” e veja qual é o valor.

Então, K = 0. A razão pela qual "k" é igual a zero agora porque o loop não é iniciado aqui. Pressione F8 mais uma vez e veja qual é o valor.

Ainda assim, o valor "k" é zero. Ok, vamos fazer uma coisa agora, pare a execução da macro e atribua o valor de "k" como 1 antes do início do loop.

Agora, dentro do loop, redesigne o valor k como k = k +1.

Agora inicie o processo de execução do código linha por linha pressionando a tecla F8. Comece a pressionar F8 e veja qual é o valor quando ele executa o loop "Do While".

Código:

 Sub Do_While_Loop_Example1 () 

Dim k As Long

k = 1

Faça Enquanto k <= 10
Células (k, 1) .Valor = k
k = k + 1

Ciclo

End Sub

Portanto, o valor "k" é igual a 1. Onde quer que "k" exista, é igual ao valor de 1. Portanto, a linha de código Células (k, 1). Valor = k é igual a:

Células (1, 1) .Valor = 1 ou seja, o valor da Linha 1 e da Coluna 1 (célula A1) é igual a 1.

Pressione a tecla F8 e execute a ação dentro do loop.

Agora, observe o valor na célula A1.

Então, obtivemos o valor de 1 na célula A1.

Agora execute a próxima linha pressionando a tecla F8 e veja qual é o valor de "k".

Então agora o valor de k é igual a 2. Portanto, onde quer que k esteja, é igual a 2.

Pressione a tecla F8, agora o código retornará para testar o valor de k.

Agora pressione mais duas vezes a tecla F8 e veja qual é o valor na célula A2.

Assim, o Loop Do While continua executando a tarefa de inserir números de série até que o valor de k atinja 11. Agora, eu já executei linha por linha até que o valor de k se torne 10.

Agora, se eu pressionar mais uma vez a tecla F8, ela voltará para testar a condição, mas não executará a linha de código porque o valor de k é mais de 10 agora.

Se eu pressionar a tecla F8, ela sairá imediatamente do loop e vai para End Sub.

A saída final é dada da seguinte forma.

Assim, o VBA Do While Loop pode ser usado para executar o mesmo conjunto de tarefas até que a condição especificada seja TRUE.

Coisas para lembrar

  • O loop Do While do VBA executa a tarefa até que a condição seja TRUE.
  • Também podemos testar a condição no início do loop ou também no final do loop.
  • A condição de movimento é FALSE, sairá do loop e não executará a tarefa.

Artigos recomendados

Este foi um guia para o VBA Do While Loop. Aqui discutimos como usar o Excel VBA Do While Loop, juntamente com alguns exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Como usar a função FIND no Excel?
  2. Métodos para usar a função VBA no Excel
  3. Maneiras de usar a função VBA no Excel
  4. Como usar a função VBA VLOOKUP?

Categoria: