VBA Do Until Loop

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 se uma função lógica funcionasse com base em TRUE ou FALSE.

Este é o oposto do loop Do While, onde Do while executa os loops, desde que a condição seja TRUE.

Sintaxe

O loop Do Until tem dois tipos de sintaxe.

Sintaxe # 1 

 Faça 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 e, em seguida, 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 para 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.

Você pode baixar este modelo VBA Do Até Excel aqui - VBA Do Até Modelo Excel

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 

Etapa 2: Defina uma variável como “Longa”.  Eu defini “x” como um tipo de dados longo.

Dim x enquanto

Etapa 3: agora digite a palavra “Do until”.

Fazer até

Etapa 4: Depois de iniciar o nome do loop, insira a condição como “x = 11”.

 Faça até x = 11

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

Observação: aqui mencionamos que “x” começa em 1, portanto, no início, o valor de x é igual a 1. Onde quer que “x” esteja, é igual a 1.

Etapa 6: Agora feche o loop inserindo a palavra “LOOP”.

 Sub Do_Until_Example1 () Dim x Conforme Long Do Até x = 11 células (x, 1) .Value = x Loop 

End Sub

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.

Primeiro, ele destacará o nome da macro pela cor amarela.

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.

Agora para entender o loop coloque um cursor na variável “x” e veja o valor da variável “x”.

Portanto, x = 0. Uma vez que a linha destacada é a primeira linha no loop, então o valor de “x” é zero, então pressione a tecla F8 novamente e veja o valor de “x”. Antes dessa saída, o código é executado e atribui o valor a “x” como 1.

Agora, novamente, inicie a execução de um loop pressionando a tecla F8. Veja o valor de “x”.

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.

Agora pressione a tecla F8 mais uma vez e devemos obter o valor 1 na célula A1.

Agora pressione a tecla F8 mais uma vez e veja qual é o valor de “x”.

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 para voltar para a linha de loop “Do Until”.

Pressione a tecla F8 mais duas vezes e obteremos o valor 2 na célula A2.

Pressione a tecla F8 novamente e o valor de “x” torna-se 3 agora.

Pressione a tecla F8 novamente para voltar ao loop mais uma vez.

Assim, este loop continuará executando a tarefa novamente até que o valor de “x” seja 11. Agora eu executei o loop até que o valor de “x” se torne 11.

Agora, se eu pressionar F8, ele ainda retornará ao loop.

Mas se eu pressionar a tecla F8 agora, ele sairá do loop porque a condição aplicada se tornará “TRUE”, ou seja, x = 11.

Portanto, agora temos números de série de 1 a 10 na planilha do Excel.

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 os loops.