Excel VBA gør indtil loop

Gør indtil loop fortsætter med at gentage udsagnene, indtil betingelsen / kriterierne er SAND. Det udfører erklæringerne, så længe betingelserne er FALSE. Så snart betingelsen / kriterierne er SAND, afslutter den loopen. Det kan ses som modsat til Do While-loop, hvor løkke kører, så længe kriterierne er SAND og bliver afsluttet, så snart kriterierne er FALSE.

Se flowdiagrammet nedenfor, der forklarer arbejdet med Do Till loop:

Syntaks for gør indtil loop i Excel VBA

Gør indtil Loop har to slags syntaks i Excel VBA.

Syntaks 1:

 Gør indtil (betingelse) (udsagn, der skal udføres) sløjfe 

Syntaks 2:

 Gør (udsagn, der skal udføres) Loop Indtil (betingelse) 

Den grundlæggende forskel mellem disse to syntakser er udførelse. I den første syntaks kontrollerer løkken altid, om betingelsen er sand eller falsk. Hvis den er falsk, gentager den loopen igen. Så snart betingelsen / kriterierne er rigtige, afslutter den loopen. I dette tilfælde er der en mulighed for, at loopen afsluttes ved første iteration i sig selv (hvis betingelsen er sand). Derfor får du ikke noget output i dette tilfælde. I anden syntaks udfører løkken oprindeligt udsagnene og kontrollerer derefter for betingelsen, om det er sandt eller falsk. Hvis betingelsen er falsk, udfører den igen det samme sæt udsagn og kontrollerer for betingelsen. Hvis den første iteration i sig selv giver betingelse som sand, afsluttes denne løkke, men før det vil den have en erklæring udført. I dette tilfælde får vi mindst én iteration (Som null-output).

Endelig vil output fra de to koder være den samme. Imidlertid er henrettelsen noget, der adskiller disse to.

Eksempel på Excel VBA gør indtil loop

Lad os se eksemplerne på Gør indtil loop i Excel VBA.

Du kan downloade denne VBA Gør indtil Loop Excel-skabelon her - VBA Gør indtil sløjfe Excel skabelon

Eksempel # 1 - VBA Gør indtil loop, når forholdene kontrolleres i starten

Følg nedenstående trin for at anvende Do Till loop i Excel VBA.

Trin 1: Indsæt et nyt modul under Visual Basic Editor (VBE) for at være i stand til at skrive kode.

Trin 2: Definer en underprocedure, der kan gemme den makrokode, du skal skrive.

Kode:

 Sub Do_Until_Ex1 () End Sub 

Trin 3: Definer en ny variabel "X" med datatype som "Lang". Denne variabel kan bruges som en betingelse / kriterier under do indtil loop.

Kode:

 Sub Do_Until_Ex1 () Dim X Som Long End Sub 

Trin 4: Indstil startværdien til 1 for variablen X.

Kode:

 Sub Do_Until_Ex1 () Dim X som lang X = 1 End Sub 

Trin 5: Start loopen med nøgleord Gør indtil.

Kode:

 Sub Do_Until_Ex1 () Dim X så længe X = 1 Gør indtil slut Sub 

Trin 6: Angiv kriterierne som X = 11 under Gør indtil. Dette er en betingelse, der tillader løkken at gå i stykker, når det er sandt. Det betyder, at sløjfen kører, indtil værdien af ​​X = 11. Så snart værdien for X er lig med 11, slutter loopen.

Kode:

 Sub Do_Until_Ex1 () Dim X så længe X = 1 Gør indtil X = 11 End Sub 

Trin 7: Brug nu VBA-celler. Værdifunktion for at kunne tilføje kvadratet for hvert tal indtil X under den første kolonne.

Kode:

 Sub Do_Until_Ex1 () Dim X så længe X = 1 Gør indtil X = 11 celler (X, 1) .Værdi = X * X End Sub 

Trin 8: Igen, vi er nødt til at indstille intervallet i X med 1, så hver gang loopen kører og kontrollerer tilstanden, går den til det næste nummer og gemmer en kvadratværdi af den i den respektive celle indtil nummer 11.

Kode:

 Sub Do_Until_Ex1 () Dim X så længe X = 1 Gør indtil X = 11 celler (X, 1) .Værdi = X * XX = X + 1 End Sub 

Trin 9: Fuldfør denne gør indtil loop ved at indtaste nøgleordet "Loop" i slutningen af ​​koden.

Kode:

 Sub Do_Until_Ex1 () Dim X så længe X = 1 Gør indtil X = 11 celler (X, 1). Værdi = X * XX = X + 1 Loop End Sub 

I denne kode ville vi have kvadratiske værdier for tal, der starter fra 1 til 11 (Så snart en værdi er 11, slutter løkken). Under hver celle i excelark (indtil celle nummer 11) gemmes værdierne. Forøgelse af 1 enhed tillader, at et tal hver gang øges med 1 i den forrige værdi af X, og den firkantede værdi af dette nummer udskrives i den respektive celle. F.eks. Udskrives kvadratværdien for 3 under den tredje celle på det aktive excelark. Denne sløjfe kører, så længe X ikke er lig med 11. Under celle A1 til celle A10 får vi de kvadratiske værdier for antallet, der starter fra 1 til 10 (ved løkke nummer 11 afsluttet).

Trin 10: Tryk på knappen Kør, eller tryk på F5-tasten for at køre denne kode og se output.

Eksempel # 2 - Gør indtil loop, når betingelserne kontrolleres i slutningen af ​​løkken

Følg nedenstående trin for at anvende Do Till loop i Excel VBA.

Trin 1: Definer en ny underprocedure under VBE-modul.

Kode:

 Sub Do_Until_Ex2 () End Sub 

Trin 2: Definer en variabel "Y" med datatype som "Lang". Denne variabel vil være nyttig til at slutte betingelserne.

Kode:

 Sub Do_Until_Ex2 () Dim Y Som Long End Sub 

Trin 3: Indstil den oprindelige værdi af variablen "Y" som 1.

Kode:

 Sub Do_Until_Ex2 () Dim Y som lang Y = 1 End Sub 

Trin 4: Tilføj Do-tilstand ved at skrive Do på næste linje, efter at du har indstillet den oprindelige værdi af Y til 1.

Kode:

 Sub Do_Until_Ex2 () Dim Y Så længe Y = 1 Slutt Sub 

Trin 5: Tilføj det stykke kode, som du vil udføres under Do loop. Her vil vi tage det samme eksempel som ovenfor (det vil hjælpe os med at få kendskab til, hvordan output er de samme, men sammenstillingerne er forskellige for to af disse koder).

Kode:

 Sub Do_Until_Ex2 () Dim Y så længe Y = 1 Do Sheets ("Eksempel 2"). Celler (Y, 1). Værdi = Y * Y End Sub 

Trin 6: Efter hver iteration af løkken, ønskede du, at værdien skulle øges med 1 enhed, indstil en kommando til den under Do-sektion.

Kode:

 Sub Do_Until_Ex2 () Dim Y så længe Y = 1 Do Sheets ("Eksempel 2"). Celler (Y, 1) .Værdi = Y * YY = Y + 1 End Sub 

Trin 7: Tilføj en afsluttende erklæring for denne loop med et nøgleord som "Loop".

Kode:

 Sub Do_Until_Ex2 () Dim Y Så længe Y = 1 Do Sheets ("Eksempel 2"). Celler (Y, 1) .Værdi = Y * YY = Y + 1 Loop End Sub 

Hold fast! Der er noget mere. Du skal tilføje indtil kriterier / betingelse under denne løkke, denne gang efter Loop nøgleordet. Det giver kompilatoren mulighed for at kontrollere tilstanden i slutningen af ​​løkken.

Trin 8: Tilføj indtil Y = 11 som en betingelse efter Loop-nøgleord.

Kode:

 Sub Do_Until_Ex2 () Dim Y som lang Y = 1 Sheets ("Eksempel 2"). Celler (Y, 1) .Værdi = Y * YY = Y + 1 Loop Indtil Y = 11 End Sub 

Trin 9: Kør denne kode ved at trykke på F5 eller Run-knappen og se magien under arket kaldet “Eksempel 2”.

Hvordan fungerer denne kode?

System kvadrater op til værdien af ​​Y hver gang under løkken og gemmer det under den anden kolonne på arket kaldet “Eksempel 2” række for række. Efter hver iteration øges den aktuelle værdi af Y med 1 enhed, og den opdaterede værdi kvadreres og gemmes op. Så længe værdien er mindre end kriterieværdien (Y = 11), gør koden kvadratet og gemmer det. Så snart værdikompilatoren når til værdien Y = 11, stopper den med at udføre koden og afslutter den samme.

Begge koder giver en lignende output, men logisk set er der en forskel i sammenstillinger for begge. I den første kodetype kontrolleres betingelsen ved starten af ​​loopen, og hvis den er falsk, begynder kun loopen at evaluere det næste udtryk. I det andet eksempel begynder koden imidlertid at køre loop og udføre Do-sætninger i starten (lagring af værdier i en bufferhukommelse for eksekveringssætningerne). I slutningen af ​​loopen kommer compiler med et kriterium og kontrollerer det samme med bufferværdien.

Ting at huske

  • VBA Gør indtil er nøjagtigt det omvendte tilfælde af Excel VBA Gør mens. VBA Do Mens loop løber, så længe betingelsen er SAND. Når betingelsen er FALSE, bliver Do While-loop afsluttet. På den anden side kører VBA Do Till, så længe betingelsen er FALSE. Så snart betingelsen er SAND, afsluttes loop.
  • Det har to måder at behandle på, den ene hvor betingelsen kontrolleres ved starten af ​​løkken og den anden hvor betingelsen kontrolleres i slutningen af ​​løkken.

Anbefalede artikler

Dette er en guide til VBA gør indtil loop. Her diskuterer vi, hvordan du bruger Excel VBA Do Till Loop sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA Mens Loop
  2. LOOKUP Formel i Excel
  3. Komplette selvstudier om VBA-sløjfer
  4. Opslagstabel i Excel

Kategori: