O que é Do Until Loop no VBA Excel?
No VBA Do Until Loop , precisamos definir critérios após a instrução until, o que significa quando queremos que o loop pare e a instrução final é o próprio loop. Portanto, se a condição for FALSE, ele continuará executando a instrução dentro do loop, mas se a condição for TRUE imediatamente, ele sairá da instrução Do Until.
Como as próprias palavras dizem que para fazer alguma tarefa até que um critério seja alcançado, Do until the loop é usado em quase todas as linguagens de programação, no VBA também às vezes usamos Do until loop. Do Until Loop significa fazer algo até que a condição se torne TRUE. É como uma função lógica que funciona com base em TRUE ou FALSE.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_2.jpg.webp)
Este é o oposto do loop Do While onde Do while executa os loops enquanto a condição for TRUE.
Sintaxe
O loop Do Until tem dois tipos de sintaxe.
Sintaxe # 1
Fazer até (condição) (executar alguma tarefa) Loop
Sintaxe # 2
Faça (execute alguma tarefa) Loop até (condição)
Ambos são muito semelhantes e há uma diferenciação simples.
Na primeira sintaxe, o loop “Do until” verifica a condição primeiro e obtém o resultado da condição TRUE ou FALSE. Se a condição for FALSE, ele executará o código e uma tarefa especificada e, se a condição for TRUE, ele sairá do loop.
Na segunda sintaxe, o loop “Do”, primeiro executará a tarefa cod, depois testa se a condição é TRUE ou FALSE. Se a condição for FALSE, ele voltará novamente e realizará a mesma tarefa. Se a condição for TRUE, ele sairá imediatamente do loop.
Exemplo
Eu sei que não é tão fácil entender nada na parte teórica, mas nada com que se preocupar. Daremos exemplos fáceis para entender o loop. Leia. Para iniciar o aprendizado, vamos realizar a tarefa de inserir os primeiros 10 números de série da célula A1 a A10.
Siga as etapas abaixo para aplicar o loop “Do Until”.
Etapa 1: primeiro crie um nome de macro para iniciar o subprocedimento.
Código:
Sub Do_Until_Example1 () End Sub
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_3.jpg.webp)
Etapa 2: defina uma variável como "Longa". Eu defini “x” como um tipo de dados longo.
Dim x enquanto
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_4.jpg.webp)
Etapa 3: agora, digite a palavra “Do até”.
Fazer até
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_5.jpg.webp)
Etapa 4: após iniciar o nome do loop, insira a condição como “x = 11”.
Faça até x = 11
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_6.jpg.webp)
x = 11 é o teste lógico que aplicamos. Portanto, esta linha diz para executar o loop até que x seja igual a 11.
Etapa 5: aplique a propriedade CELLS e vamos inserir os números de série de 1 a 10.
Células (x, 1). Valor = x
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_7.jpg.webp)
Observação: aqui, mencionamos que “x” começa em 1, portanto, no início, o valor de x é igual a 1. Sempre que “x” estiver, será igual a 1.
Etapa 6: agora feche o loop inserindo a palavra “LOOP”.
Sub Do_Until_Example1 () Dim x tanto quanto x = 11 células (x, 1) .Value = x Loop
End Sub
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_8.jpg.webp)
Ok, terminamos a parte de codificação, agora vamos testar os códigos linha por linha para entender melhor o loop.
Para executar o código linha por linha, primeiro pressione a tecla F8.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_9.jpg.webp)
Primeiro, ele destacará o nome da macro pela cor amarela.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_10.jpg.webp)
Quando você pode ver a linha amarela, diz que não é executado por prestes a executar se você pressionar a tecla F8 mais uma vez.
Agora pressione a tecla F8 mais uma vez, a linha amarela irá para Do Until Loop.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_11.jpg.webp)
Agora para entender o loop, coloque um cursor na variável “x” e veja o valor da variável “x”.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_12.jpg.webp)
Portanto, x = 0. Como a linha destacada é a primeira linha do loop, o valor de "x" é zero, então pressione a tecla F8 mais uma vez e veja o valor de "x". Antes dessa saída, o código está em execução e atribua o valor a “x” como 1.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_13.jpg.webp)
Agora, novamente, inicie a execução de um loop pressionando a tecla F8. Veja o valor de “x.”
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_14.jpg.webp)
Agora o valor de “x” é mostrado como 1. Para ter um valor incremental para a variável “x”, precisamos reatribuir o valor da variável “x” como x = x + 1 dentro do loop.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_15.jpg.webp)
Agora pressione a tecla F8 mais uma vez e devemos obter o valor 1 na célula A1.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba.gif)
Agora pressione a tecla F8 mais uma vez e veja qual é o valor de “x”.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_16.jpg.webp)
O valor da variável “x” agora é 2. Portanto, nossa condição diz para executar o loop até que a condição se torne TRUE, então nosso loop continua executando até que o valor de “x” se torne 11.
Pressione F8 mais uma vez. Ele voltará para a linha de loop “Do Until”.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_17.jpg.webp)
Pressione a tecla F8 mais duas vezes e obteremos o valor 2 na célula A2.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_2.gif)
Pressione a tecla F8 novamente e o valor de “x” torna-se 3 agora.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_18.jpg.webp)
Pressione a tecla F8 novamente para voltar ao loop mais uma vez.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_19.jpg.webp)
Assim, este loop continuará executando a tarefa novamente até que o valor de “x” se torne 11. Agora eu executei o loop até que o valor de “x” se torne 11.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_20.jpg.webp)
Agora, se eu pressionar F8, ele ainda retornará ao loop.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_21.jpg.webp)
Mas se eu pressionar a tecla F8 agora, ele sairá do loop porque a condição aplicada se torna “TRUE”, ou seja, x = 11.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_22.jpg.webp)
Portanto, agora temos números de série de 1 a 10 na planilha do Excel.
![](https://cdn.know-base.net/3000517/vba_do_until_loop_step_by_step_examples_to_use_do_until_in_vba_23.jpg.webp)
Portanto, esta é a ideia básica do loop “Do Until”. Para entender quaisquer loops, você precisa executar o código linha por linha até obter o conhecimento completo sobre loops.