Excel VBA doen terwijl lus

Do While Loop betekent iets doen terwijl de voorwaarde WAAR is. Het is als een logische functie die werkt op WAAR of ONWAAR. Dus als de voorwaarde WAAR is, blijft de instructie in de lus worden uitgevoerd, maar als de voorwaarde meteen ONWAAR is, wordt de instructie Do While verlaten. De werking van VBA Do While Loop wordt weergegeven in de onderstaande afbeelding.

Syntaxis van Do While Loop in VBA Excel

Do While Loop heeft twee soorten syntaxis in Excel VBA.

Beide lijken erg op elkaar en er is een eenvoudige differentiatie in hen.

In de eerste syntaxis "Do While" -lus controleert eerst de voorwaarde en geeft het voorwaarderesultaat de waarde WAAR of ONWAAR. Als de voorwaarde WAAR is, wordt de code uitgevoerd en wordt een opgegeven taak uitgevoerd. Als de voorwaarde ONWAAR is, wordt de lus verlaten.

In de tweede syntaxis "Do" zal eerst de code worden uitgevoerd en vervolgens wordt getest of de voorwaarde WAAR of ONWAAR is. Als de voorwaarde WAAR is, gaat deze opnieuw terug en voert dezelfde taak uit. Als de voorwaarde ONWAAR is, verlaat deze onmiddellijk de lus.

Voorbeeld van Excel VBA Do While Loop

Als u niets in het theoretische gedeelte hebt begrepen, hoeft u zich geen zorgen te maken. Ik zal je de eenvoudige set van voorbeelden uitleggen om een ​​eerlijke kennis van deze lus te hebben.

U kunt deze VBA Do While Loop Excel-sjabloon hier downloaden - VBA Do While Loop Excel-sjabloon

Nu zullen we de taak van het invoegen van de eerste 10 serienummers van cel A1 tot A10 uitvoeren. Volg de onderstaande stappen om de "Do While" -lus toe te passen.

Stap 1:

Maak eerst een macronaam.

Code:

 Sub Do_While_Loop_Example1 () End Sub 

Stap 2:

Definieer een variabele als "Lang". Ik heb "k" gedefinieerd als het lange gegevenstype.

Code:

 Sub Do_While_Loop_Example1 () Dim k As Long End Sub 

Stap 3:

Voer nu het woord "Do While" in. En na het starten van de lusnaam voert u de voorwaarde in als "k <= 10".

Code:

 Sub Do_While_Loop_Example1 () Dim k Zo lang doen While k <= 10 Einde Sub 

Stap 4:

Met de eigenschap CELLS kunnen nu serienummers worden ingevoegd.

Code:

 Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 Cellen (k, 1). Waarde = k Einde Sub 

Opmerking: hier begint variabele "k" vanaf 1, dus is de eerste waarde k gelijk aan 1. Waar "k" gelijk is aan 1.

Stap 5:

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

Code:

 Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 Cellen (k, 1). Waarde = k Loop End Sub 

Ok, we zijn klaar. Voor een beter begrip laten we deze code een voor een testen door eenmaal op de F8-toets te drukken.

Druk eerst op F8, deze markeert de macronaam met een gele kleur.

Druk nu nog een keer op F8 om naar Do While Loop te springen. Plaats de cursor op "k" en kijk wat de waarde is.

Dus, K = 0. De reden waarom "k" nu gelijk is aan nul omdat de lus hier niet wordt uitgevoerd. Druk nog een keer op F8 en kijk wat de waarde is.

Toch is de "k" -waarde nul. Ok, laten we nu één ding doen, de macro stoppen en de waarde van "k" toewijzen als 1 voordat de lus begint.

Wijs nu binnen de lus de k-waarde opnieuw toe als k = k +1.

Start nu het proces van het regel voor regel uitvoeren van de code door op F8 te drukken. Begin op F8 te drukken en kijk wat de waarde is wanneer deze de "Do While" -lus uitvoert.

Code:

 Sub Do_While_Loop_Example1 () 

Dim k zo ​​lang

k = 1

Do While k <= 10
Cellen (k, 1). Waarde = k
k = k + 1

Lus

Einde Sub

Dus "k" waarde is gelijk aan 1. Waar "k" is is er gelijk aan de waarde van 1. Dus de regel met codecellen (k, 1). Waarde = k is gelijk aan:

Cellen (1, 1). Waarde = 1, dwz de waarde van rij 1 en kolom 1 (cel A1) is gelijk aan 1.

Druk op F8 en voer actie uit in de lus.

Bekijk nu de waarde in cel A1.

Dus we hebben de waarde 1 in cel A1.

Voer nu de volgende regel uit door op F8 te drukken en kijk wat de waarde van "k" is.

Dus nu is k-waarde gelijk aan 2. Dus waar k is, is er gelijk aan 2.

Druk op F8, nu keert de code terug om de waarde van k te testen.

Druk nu nog twee keer op F8 en kijk wat de waarde is in cel A2.

Zoals deze Do While Loop blijft de taak uitvoeren om serienummers in te voegen totdat de waarde van k 11 bereikt. Nu heb ik al regel voor regel uitgevoerd totdat k waarde 10 wordt.

Als ik nu nog een keer op de F8-toets druk, gaat deze terug om de voorwaarde te testen, maar wordt de coderegel niet uitgevoerd omdat de k-waarde nu meer dan 10 is.

Als ik op F8 druk, verlaat het meteen de lus en gaat naar End Sub.

De uiteindelijke output wordt als volgt gegeven.

Zoals deze VBA kan Do While Loop worden gebruikt om dezelfde set taken uit te voeren totdat de gegeven voorwaarde WAAR is.

Dingen om te onthouden

  • VBA Do While Loop voert de taak uit totdat de voorwaarde WAAR is.
  • We kunnen ook de conditie testen aan het begin van de lus of ook aan het einde van de lus.
  • De bewegingsconditie is ONWAAR, deze verlaat de lus en voert de taak niet uit.

Aanbevolen artikelen

Dit is een handleiding voor VBA Do While Loop geweest. Hier hebben we besproken hoe je Excel VBA Do While Loop kunt gebruiken, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Hoe de FIND-functie in Excel te gebruiken?
  2. Methoden om de VBA-functie in Excel te gebruiken
  3. Manieren om de VBA-functie in Excel te gebruiken
  4. Hoe de VBA VLOOKUP-functie te gebruiken?

Categorie: