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 ExcelSiga 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.