VBA Fes-ho fins al bucle | Exemples pas a pas per utilitzar Do Until a VBA

Què és fer fins que es fa un bucle a VBA Excel?

En Fer VBA fins a bucle, hem de definir criteris després de la sentència until, que vol dir quan volem que el bucle s'aturi i que la sentència final sigui el mateix bucle. Per tant, si la condició és FALSA, continuarà executant la sentència dins del bucle, però si la condició és TRUE immediatament, sortirà de la sentència Do Until.

Com les paraules en si mateix diuen que per fer alguna tasca fins que no s’assoleix un criteri, fer fins que s’utilitzi el bucle en gairebé tots els llenguatges de programació, a VBA també de vegades fem servir fins a bucle. Fer fins a bucle significa fer alguna cosa fins que la condició es converteixi en CERT. És com si una funció lògica funcioni basada en TRUE o FALSE.

Això és el contrari del bucle Do While on Do while executa els bucles sempre que la condició sigui TRUE.

Sintaxi

El bucle Do Until té dos tipus de sintaxi.

Sintaxi núm. 1

 Fes el bucle fins a [condició] [Realitza alguna tasca] 

Sintaxi núm. 2

 Feu un bucle [Realitzeu algunes tasques] fins a [condició] 

Tots dos tenen un aspecte molt similar i hi ha una diferenciació senzilla.

A la primera sintaxi, el bucle "Fes fins" comprova primer la condició i obté que el resultat de la condició sigui TRUE o FALSE. Si la condició és FALSA, executarà el codi i realitzarà una tasca especificada i, si la condició és TRUE, sortirà del bucle.

En el segon bucle de sintaxi "Do", en primer lloc executarà la tasca de cod i, a continuació, comprovarà si la condició és TRUE o FALSE. Si la condició és FALSA, tornarà enrere i realitzarà la mateixa tasca. Si la condició és TRUE, immediatament sortirà del bucle.

Exemple

Sé que no és tan fàcil entendre res de la part de la teoria, però res de què preocupar-se. Us donarem exemples senzills per entendre el bucle. Segueix llegint. Per iniciar l’aprenentatge, realitzem la tasca d’inserir els primers 10 números de sèrie de la cel·la A1 a l’A10.

Podeu descarregar aquesta plantilla VBA Do Until Excel aquí - Plantilla VBA Do Until Excel

Seguiu els passos següents per aplicar el bucle "Fes fins".

Pas 1: Creeu primer un nom de macro per iniciar el subprocés.

Codi:

 Sub Do_Until_Example1 () Final Sub 

Pas 2: Definiu una variable com "Llarg". He definit "x" com un tipus de dades llarg.

Dim x Long

Pas 3: Ara introduïu la paraula "Fes fins".

Fes fins

Pas 4: Després d'iniciar el nom del bucle, introduïu la condició com a "x = 11".

 Feu Fins a x = 11

x = 11 és la prova lògica que hem aplicat. Per tant, aquesta línia diu que executeu el bucle fins que x sigui igual a 11.

Pas 5: Apliqueu la propietat CELLS i inserim números de sèrie de l’1 al 10.

Cèl·lules (x, 1). Valor = x

Nota: Aquí hem esmentat que "x" comença a partir d'1, de manera que al principi el valor x és igual a 1. Sempre que hi hagi "x" és igual a 1.

Pas 6: Ara tanqueu el bucle introduint la paraula "LOOP".

 Sub Do_Until_Example1 () Dim x Long Do Fins a x = 11 cel·les (x, 1). Valor = x Loop 

Finalitzar sub

D’acord, ja hem acabat amb la part de codificació, ara provarem els codis línia per línia per entendre millor el bucle.

Per executar el codi línia per línia, premeu primer la tecla F8.

Primer ressaltarà el nom de la macro per color groc.

Quan podeu veure la línia groga, es diu que no s'executa a punt d'executar-la si premeu la tecla F8 una vegada més.

Ara premeu la tecla F8 una vegada més, la línia groga anirà a Fer fins al bucle.

Ara per entendre el bucle, col·loqueu un cursor a la variable "x" i vegeu el valor de la variable "x".

Per tant, x = 0. Com que la línia ressaltada és la primera línia del bucle, de manera que el valor de "x" és zero, premeu la tecla F8 una vegada més i veureu el valor de "x". Abans d'aquesta sortida, el codi s'executa i assigneu el valor a "x" com a 1.

Ara torneu a iniciar el funcionament d'un bucle prement la tecla F8. Vegeu el valor de "x".

Ara el valor de "x" es mostra com 1. Per tenir un valor incremental a la variable "x", hem de reassignar el valor de la variable "x" com a x = x + 1 dins del bucle.

Ara premeu la tecla F8 una vegada més i hauríem d'obtenir el valor d'1 a la cel·la A1.

Ara torneu a prémer la tecla F8 i veureu quin és el valor de "x".

El valor de la variable "x" ara és 2. Per tant, la nostra condició diu que executem el bucle fins que la condició es converteixi en CERT, de manera que el nostre bucle continua funcionant fins que el valor de "x" esdevingui 11.

Premeu F8 una vegada més per tornar a la línia de bucle "Fins fins".

Premeu la tecla F8 dues vegades més, obtindrem el valor de 2 a la cel·la A2.

Torneu a prémer la tecla F8 i el valor de "x" esdevé 3 ara.

Torneu a prémer la tecla F8 i tornarà a saltar al bucle.

Així, aquest bucle seguirà executant la tasca fins que el valor de "x" esdevingui 11. Ara he executat el bucle fins que el valor "x" esdevingui 11.

Ara, si premo F8, encara tornarà al bucle.

Però si premo la tecla F8 ara sortirà del bucle perquè la condició aplicada es converteix en "TRUE", és a dir, x = 11.

Per tant, tenim ara números de sèrie de l’1 al 10 al full Excel.

Per tant, aquesta és la idea bàsica del bucle "Fes fins". Per entendre qualsevol bucle, cal que executeu el codi línia per línia fins que obtingueu el coneixement complet dels bucles.