VBA doen tot lus - Stapsgewijze voorbeelden om Do Until te gebruiken in VBA

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, Do totdat de lus wordt gebruikt in bijna alle programmeertalen, gebruiken we in VBA soms ook Do totdat de lus. Doen tot lus betekent iets doen totdat de voorwaarde WAAR wordt. Het is als een logische functie die 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

Do (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 voorwaarde ONWAAR is, gaat het opnieuw 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.

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 lusnaam 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 de 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 regel per regelcode te laten lopen, 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, is de waarde van "x" dus nul, dus druk nogmaals op F8 en bekijk de waarde van "x". Vóór die exit wordt de code uitgevoerd en wijst de waarde aan "x" toe als 1.

Start nu opnieuw een lus door op de F8-toets te drukken. Bekijk 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 springt terug naar de lusregel "Do Tot".

Druk nog twee keer op de F8-toets en 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 het de lus omdat de toegepaste voorwaarde "TRUE" wordt, dwz x = 11.

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

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.

Interessante artikelen...