VBA doen tot lus

Wat is doen tot lus in VBA Excel?

In VBA Do Until Loop moeten we criteria definiëren na de instructie tot, wat betekent wanneer we willen dat de lus stopt en de instructie end de lus zelf is. Dus als de voorwaarde FALSE is, blijft het de instructie binnen de lus uitvoeren, maar als de voorwaarde meteen TRUE is, wordt de Do Until-instructie afgesloten.

Zoals de woorden zelf zeggen dat om een ​​taak uit te voeren totdat een criterium is bereikt, Doe totdat de lus in bijna alle programmeertalen wordt gebruikt, gebruiken we in VBA soms ook Do totdat de lus. Doen tot lus betekent iets doen totdat de toestand WAAR wordt. Het is alsof een logische functie werkt op basis van WAAR of ONWAAR.

Dit is het tegenovergestelde van de Do While-lus waar Do while de lussen uitvoert zolang de voorwaarde TRUE is.

Syntaxis

De lus doen tot heeft twee soorten syntaxis.

Syntaxis # 1 

 Doe tot [voorwaarde] [Voer een taak uit] Loop 

Syntaxis # 2

 Doe [Voer een taak uit] Loop tot [voorwaarde] 

Beide lijken erg op elkaar en er is één simpele differentiatie.

In de eerste syntaxis controleert de "Do Until" -lus eerst de voorwaarde en krijgt het resultaat van de voorwaarde TRUE of FALSE. Als de voorwaarde ONWAAR is, zal het de code uitvoeren en een gespecificeerde taak uitvoeren en als de voorwaarde WAAR is, zal het de lus verlaten.

In de tweede syntaxis "Do" -lus zal het eerst de codetaak uitvoeren en vervolgens testen of de voorwaarde WAAR of ONWAAR is. Als de conditie ONWAAR is, gaat het weer terug en voert dezelfde taak uit. Als de voorwaarde WAAR is, wordt de lus onmiddellijk verlaten.

Voorbeeld

Ik weet dat het niet zo gemakkelijk is om iets in het theoriegedeelte te begrijpen, maar niets om je zorgen over te maken. We zullen u eenvoudige voorbeelden geven om de lus te begrijpen. Lees verder. Laten we, om het leren te beginnen, de taak uitvoeren om de eerste 10 serienummers van cel A1 tot A10 in te voegen.

U kunt deze VBA Do tot Excel-sjabloon hier downloaden - VBA Do tot Excel-sjabloon

Volg de onderstaande stappen om de "Do Tot" -lus toe te passen.

Stap 1: Maak eerst een macronaam om de subprocedure te starten.

Code:

 Sub Do_Until_Example1 () End Sub 

Stap 2: Definieer een variabele als "Lang".  Ik heb "x" gedefinieerd als een lang gegevenstype.

Dim x zo lang

Stap 3: Voer nu het woord "Totdat" in.

Doe tot

Stap 4: Voer na het starten van de loopnaam de voorwaarde in als "x = 11".

 Doe tot x = 11

x = 11 is de logische test die we hebben toegepast. Dus deze regel zegt dat de lus moet worden uitgevoerd totdat x gelijk is aan 11.

Stap 5: Pas de eigenschap CELLS toe en laten we serienummers van 1 tot 10 invoegen.

Cellen (x, 1). Waarde = x

Opmerking: hier hebben we vermeld dat "x" begint bij 1, dus in eerste instantie is x-waarde gelijk aan 1. Waar "x" daar is, is gelijk aan 1.

Stap 6: Sluit nu de lus door het woord "LOOP" in te voeren.

 Sub Do_Until_Example1 () Dim x Even lang tot x = 11 Cellen (x, 1) .Value = x Loop 

Einde Sub

Ok, we zijn klaar met het coderingsgedeelte, nu zullen we de codes regel voor regel testen om de lus beter te begrijpen.

Om de code regel voor regel uit te voeren, drukt u eerst op de F8-toets.

Het zal eerst de macronaam markeren met een gele kleur.

Als je de gele lijn kunt zien, staat er dat dat niet wordt uitgevoerd door op het punt te staan ​​om uit te voeren als je nog een keer op de F8-toets drukt.

Druk nu nog een keer op de F8-toets, de gele lijn gaat naar Do Until Loop.

Om de lus te begrijpen, plaatst u een cursor op de variabele "x" en ziet u de waarde van variabele "x".

Dus x = 0. Aangezien de gemarkeerde regel de eerste regel in de lus is, dus de waarde van "x" is nul, dus druk nogmaals op de F8-toets en zie de waarde van "x". Vóór die exit wordt de code uitgevoerd en wordt de waarde aan "x" toegewezen als 1.

Start nu opnieuw een lus door op de F8-toets te drukken. Zie de waarde van "x".

Nu wordt de waarde van "x" weergegeven als 1. Om een ​​incrementele waarde aan de variabele "x" te krijgen, moeten we de waarde van variabele "x" opnieuw toewijzen als x = x + 1 binnen de lus.

Druk nu nog een keer op de F8-toets en we zouden de waarde van 1 in cel A1 moeten krijgen.

Druk nu nogmaals op de F8-toets en kijk wat de waarde van "x" is.

De waarde van variabele "x" is nu 2. Dus onze voorwaarde zegt dat de lus moet worden uitgevoerd totdat de voorwaarde WAAR wordt, dus onze lus blijft lopen totdat de waarde van "x" 11 wordt.

Druk nog een keer op F8, het zal terugspringen naar de "Do Tot" luslijn.

Druk nog twee keer op de F8-toets, we krijgen de waarde van 2 in cel A2.

Druk nogmaals op de F8-toets en de waarde van "x" wordt nu 3.

Druk nogmaals op de F8-toets om weer terug te springen naar de lus.

Op deze manier zal deze lus de taak opnieuw blijven uitvoeren totdat de waarde van "x" 11 wordt. Nu heb ik de lus uitgevoerd totdat de waarde van "x" 11 wordt.

Als ik nu op F8 druk, gaat het nog steeds terug naar de lus.

Maar als ik nu op de F8-toets druk, verlaat ik de lus omdat de toegepaste voorwaarde "TRUE" wordt, dwz x = 11.

Dus we hebben nu serienummers van 1 tot 10 in Excel-sheet.

Dit is dus het basisidee van de "Do Tot" -lus. Om lussen te begrijpen, moet u de code regel voor regel uitvoeren totdat u de volledige kennis over lussen hebt gekregen.