Excel VBA gør mens sløjfe

Do While Loop betyder at gøre noget, mens betingelsen er SAND. Det er som en logisk funktion, der fungerer baseret på SAND eller FALSE. Så hvis betingelsen er SAND, fortsætter den med at udføre erklæringen inde i løkken, men hvis betingelsen er FALSE med det samme, vil den forlade Do While-sætningen. Arbejdet med VBA Do While Loop vises i figuren nedenfor.

Syntaks for Do While Loop i VBA Excel

Do While Loop har to slags syntaks i Excel VBA.

Begge ser meget ens ud, og der er en enkel differentiering i dem.

I den første syntaks “Do While” -sløjfe kontrollerer betingelsen først og giver tilstandsresultatet som SAND eller FALSE. Hvis betingelsen er SAND, udfører den koden og udfører en specificeret opgave, og hvis betingelsen er FALSE, vil den forlade loopen.

I den anden syntaks "Do" -sløjfe udfører først koden, og derefter tester den, om betingelsen er SAND eller FALSE. Hvis betingelsen er SAND, vil den igen gå tilbage og udføre den samme opgave. Hvis betingelsen er FALSE, vil den straks gå ud af løkken.

Eksempel på Excel VBA Do While Loop

Hvis du ikke har forstået noget i teorien, skal du ikke bekymre dig noget. Jeg vil forklare dig det enkle sæt eksempler for at have en fair viden om denne løkke.

Du kan downloade denne VBA Do While Loop Excel-skabelon her - VBA Do While Loop Excel-skabelon

Nu udfører vi opgaven med at indsætte de første 10 serienumre fra celle A1 til A10. Følg nedenstående trin for at anvende “Do While” -sløjfe.

Trin 1:

Opret et makronavn først.

Kode:

 Sub Do_While_Loop_Example1 () End Sub 

Trin 2:

Definer en variabel som "Lang". Jeg har defineret “k” som lang datatype.

Kode:

 Sub Do_While_Loop_Example1 () Dim k As Long End Sub 

Trin 3:

Indtast nu ordet "Gør mens". Og efter start af loop-navnet indtastes betingelsen som “k <= 10”.

Kode:

 Sub Do_While_Loop_Example1 () Dim k Så længe gør mens k <= 10 End Sub 

Trin 4:

Brug nu CELLS-egenskaben til at indsætte serienumre.

Kode:

 Sub Do_While_Loop_Example1 () Dim k så længe gør mens k <= 10 celler (k, 1) .Value = k End Sub 

Bemærk: Her starter variablen “k” fra 1, så ved første k-værdi er lig med 1. Hvor ”k” er der, er der lig med 1.

Trin 5:

Luk nu løkken ved at indtaste ordet “LOOP”.

Kode:

 Sub Do_While_Loop_Example1 () Dim k så lang tid mens k <= 10 celler (k, 1) .Value = k Loop End Sub 

Ok, vi er færdige. For bedre forståelse lader vi teste denne kode én efter én ved at trykke på F8-tasten én gang.

Tryk først på F8-tasten, det fremhæver makronavnet efter gul farve.

Tryk endnu en gang på F8-tasten, så springer den til Do While Loop. Placer markøren på “k” og se, hvad værdien er.

Så K = 0. Årsagen til, at “k” er lig med nul nu, fordi loop ikke er begyndt at udføres her. Tryk på F8 endnu en gang og se, hvad værdien er.

Stadig er “k” -værdien nul. OK, lad os gøre en ting nu, stoppe kørslen af ​​makro og tildel værdien af ​​“k” som 1, før loopen starter.

Nu inden i løkken tildeles k-værdien igen som k = k +1.

Start nu processen med at udføre koden linje for linje ved at trykke på F8-tasten. Start med at trykke på F8 og se, hvad værdien er, når den udfører loopen "Do While".

Kode:

 Sub Do_While_Loop_Example1 () 

Dim k så længe

k = 1

Gør mens k <= 10
Celler (k, 1). Værdi = k
k = k + 1

Loop

Afslut under

Så "k" -værdien er lig med 1. Hvor "k" er, der er lig med værdien af ​​1. Så linjen med kode celler (k, 1). Værdi = k er lig med:

Celler (1, 1). Værdi = 1 dvs. række 1 & kolonne 1 (A1-celle) -værdien er lig med 1.

Tryk på F8-tasten og udfør handling inden i løkken.

Se nu værdien i celle A1.

Så vi fik værdien 1 i celle A1.

Udfør nu den næste linje ved at trykke på F8-tasten og se, hvad værdien af ​​“k” er.

Så nu er k-værdien lig med 2. Så hvor som helst k er der er lig med 2.

Tryk på F8-tasten, og nu vender koden tilbage til at teste værdien på k.

Tryk nu på to gange mere på F8-tasten og se, hvad værdien er i celle A2.

Sådan gør du Mens Loop fortsætter med at udføre opgaven med at indsætte serienumre, indtil værdien på k når 11. Nu har jeg allerede udført linje for linje, indtil k-værdien bliver 10.

Hvis jeg nu trykker en gang på F8-tasten, går den tilbage for at teste betingelsen, men udfører ikke kodelinjen, fordi k-værdien er mere end 10 nu.

Hvis jeg trykker på F8-tasten, forlader den straks loopen og går til End Sub.

Den endelige output er givet som følger.

Som denne VBA Do While Loop kan bruges til at udføre det samme sæt opgaver, indtil den givne tilstand er SAND.

Ting at huske

  • VBA Gør, mens Loop udfører opgaven, indtil betingelsen er SAND.
  • Vi kan også teste tilstanden i starten af ​​løkken eller også i slutningen af ​​løkken.
  • Bevægelsestilstanden er FALSE, den forlader sløjfen og udfører ikke opgaven.

Anbefalede artikler

Dette har været en guide til VBA Do While Loop. Her diskuterede vi, hvordan man bruger Excel VBA Do While Loop sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Hvordan bruges FIND-funktion i Excel?
  2. Metoder til brug af VBA-funktion i Excel
  3. Måder at bruge VBA-funktion i Excel
  4. Hvordan bruges VBA VLOOKUP-funktion?

Kategori: