Excel VBA Do Loop

Dokler zanka še naprej ne bo ponavljala izjav, dokler pogoj / merila ne postanejo TRUE. Izjave bo izvajal, dokler so pogoji NAVODNI. Takoj, ko pogoj / merila postanejo TRUE, preneha zanko. Zdi se, da je nasprotno kot zanka Do while, kjer zanka teče, dokler so merila TRUE in preneha, ko so merila IZPOLNJA.

Glejte spodnji diagram poteka, ki razlaga delovanje zanke Do Do:

Sintaksa Do Do Loop v Excelu VBA

Naredite, dokler Loop v Excelu VBA ne razpolaga z dvema skladnjama.

Sintaksa 1:

 Naredi, dokler (Pogoj) (Izjave se izvršijo) zanka 

Sintaksa 2:

 Ali (izjave, ki jih je treba izvesti) zanke do (stanje) 

Osnovna razlika med tema dvema skladnjama je izvedba. V prvi sintaksi bo zanka vedno preverila, ali je pogoj res ali napačno. Če je napačna, bo zanko še enkrat ponovila. Takoj, ko so pogoji / merila resnična, bo zanka prenehala. V tem primeru obstaja možnost, da se zanka ob prvi iteraciji prekine (če je pogoj True). Zato v tem primeru ne boste dobili nobenega rezultata. Vendar bo zanka v drugi sintaksi sprva izvedla stavke in nato preverila, ali je resnična ali napačna. Če je pogoj napačen, bo znova izvedel isti niz stavkov in preveril stanje. Če je prva iteracija sama po sebi pogoj kot True, se ta zanka konča, pred tem pa bo izveden stavek. V tem primeru bomo dobili vsaj eno iteracijo (Kot ničelni izhod).

Končno bo izhod obeh kod enak. Vendar pa je usmrtitev nekaj, kar ta dva razlikuje.

Primer programa Excel VBA Do Loop

Poglejmo primere Do Do Loop v Excelu VBA.

Predlogo za VBA Do Loop Excel lahko prenesete tukaj - VBA Do Loop Excel Predloga

Primer # 1 - VBA naredite do zanke, ko se pogoji preverijo na začetku

Sledite spodnjim korakom za uporabo zanke Do Do v Excelu VBA.

1. korak: V Visual Basic Editor (VBE) vstavite nov modul, da lahko pišete kodo.

2. korak: Določite podproces, ki lahko shrani makro kodo, ki jo pišete.

Koda:

 Sub Do_Until_Ex1 () End Sub 

Korak 3: Določite novo spremenljivko "X" s tipom podatkov kot "Dolga". Ta spremenljivka se lahko uporabi kot pogoj / merila v zanki Do dokler.

Koda:

 Sub Do_Until_Ex1 () Dim X kot dolgi konec Sub 

4. korak: Za začetno vrednost spremenljivke X nastavite vrednost 1.

Koda:

 Sub Do_Until_Ex1 () Dim X kot dolg X = 1 konec Sub 

5. korak: Zaženite zanko s ključnimi besedami Do.

Koda:

 Sub Do_Until_Ex1 () Dim X kot dolg X = 1 Do konca konca Sub 

6. korak: Pod Do Do določite kriterije kot X = 11. To je pogoj, ki omogoča, da se zanka prekine, ko je res. Pomeni, da se zanka izvaja, dokler vrednost X = 11. Takoj, ko vrednost za X postane enaka 11, se zanka preneha.

Koda:

 Sub Do_Until_Ex1 () Dim X kot dolg X = 1 Naredi do X = 11 Končaj Sub 

7. korak: Zdaj uporabite celice VBA. Vrednostna funkcija, da lahko dodate kvadrat vsake številke do X pod prvim stolpcem.

Koda:

 Pod Do_Until_Ex1 () Dim X kot dolg X = 1 Naredi, dokler X = 11 celic (X, 1) .Value = X * X End Sub 

Korak 8: Ponovno moramo prirastek v X postaviti 1, tako da vsakič, ko zanka teče in preveri stanje, bo prešla na naslednjo številko in shranila njeno kvadratno vrednost v ustrezno celico do številke 11.

Koda:

 Pod Do_Until_Ex1 () Dim X kot dolg X = 1 Naredi, dokler X = 11 celic (X, 1) .Value = X * XX = X + 1 Končni pod 

9. korak: Dokončajte zanko Do Do, tako da na koncu kode vnesete ključno besedo "Zanka".

Koda:

 Pod Do_Until_Ex1 () Dim X kot dolg X = 1 Naredi, dokler X = 11 celic (X, 1) .Value = X * XX = X + 1 konec zanke Sub 

V tej kodi smo želeli imeti kvadratne vrednosti za številke, ki se začnejo od 1 do 11 (Takoj ko je vrednost 11, se zanka konča). Pod vsako celico lista excel (do številke celice 11) se vrednosti shranijo. Povečanje za 1 enoto omogoča, da se število vsakokrat poveča za 1 v prejšnji vrednosti X, vrednost kvadratka te številke pa se natisne v ustrezni celici. Na primer, vrednost kvadrata za 3 bo natisnjena pod tretjo celico aktivnega lista excel. Ta zanka deluje, dokler X ni enak 11. Zato pod celico A1 do celice A10 dobimo vrednosti kvadrata števila, ki se začne od 1 do 10 (pri številki 11 se zanka konča).

Korak 10: Pritisnite gumb Zaženi ali pritisnite tipko F5, da zaženete to kodo in si oglejte izhod.

Primer # 2 - Do zanke, dokler niso preverjeni pogoji na koncu zanke

Sledite spodnjim korakom za uporabo zanke Do Do v Excelu VBA.

1. korak: V VBE modulu določite nov podproces.

Koda:

 Sub Do_Until_Ex2 () End Sub 

2. korak: Spremenite spremenljivko "Y" s tipom podatkov kot "Dolga". Ta spremenljivka bo uporabna pri iskanju pogojev.

Koda:

 Sub Do_Until_Ex2 () Dim Y Kot dolgi konec Sub 

3. korak: Začetno vrednost spremenljivke "Y" nastavite na 1.

Koda:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 konec Sub 

4. korak: Dodajte stanje Do, tako da v naslednjo vrstico vnesete Do, potem ko nastavite začetno vrednost Y na 1.

Koda:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do konca Sub 

5. korak: Dodajte delček kode, ki ga želite izvršiti pod Do zanko. Tu bomo vzeli enak primer kot zgoraj (pomagal nam bo spoznati, kako so rezultati enaki, vendar se kompilacije za dve od teh kod razlikujejo).

Koda:

 Pod Do_Until_Ex2 () Dim Y kot dolg Y = 1 naredi liste ("Primer 2"). Celice (Y, 1) .Value = Y * Y End Sub 

6. korak: Po vsaki iteraciji zanke želite, da se vrednost poveča za eno enoto, v razdelku Do določite ukaz za to.

Koda:

 Pod Do_Until_Ex2 () Dim Y Kot dolg Y = 1 Naredi liste ("Primer 2"). Celice (Y, 1) .Value = Y * YY = Y + 1 Končni pod 

7. korak: Dodajte zaključni stavek za to zanko s ključno besedo kot »zanka«.

Koda:

 Pod Do_Until_Ex2 () Dim Y Kot dolg Y = 1 Naredi liste ("Primer 2"). Celice (Y, 1) .Value = Y * YY = Y + 1 konec zanke Sub 

Počakaj! Nekaj ​​je več. Morate dodati kriterije / pogoj pod to zanko, tokrat po ključni besedi zanke. Prevajalniku bo omogočil preverjanje stanja na koncu zanke.

8. korak: Dodajte do Y = 11 kot pogoj po ključnih besedah ​​zanke.

Koda:

 Pod Do_Until_Ex2 () Dim Y Kot dolg Y = 1 Naredi liste ("Primer 2"). Celice (Y, 1) .Value = Y * YY = Y + 1 zanka, dokler Y = 11 konec Sub 

9. korak: Zaženite to kodo s pritiskom na tipko F5 ali Run in glejte čarovnijo pod listom z imenom "Primer 2".

Kako deluje ta koda?

Sistem vsakokrat pod zanko nariše kvadratke do vrednosti Y in ga shrani pod drugi stolpec lista z imenom "Primer 2" vrstico za vrstico. Po vsaki ponovitvi se trenutna vrednost Y poveča za 1 enoto, posodobljena vrednost pa se kvadrat in shrani. Dokler je vrednost manjša od vrednosti merila (Y = 11), bo koda naredila kvadrat in ga shranila. Takoj, ko prevajalnik vrednosti doseže vrednost Y = 11, preneha z izvrševanjem kode in enako konča.

Obe kodi dajeta podoben izhod, vendar logično obstaja razlika v kompilacijah za obe. V prvi vrsti kode se stanje preveri na začetku zanke in če je napačno, začne le zanka oceniti naslednji izraz. Vendar pa v drugem primeru koda začne izvajati zanko in izvaja zagon stavkov na začetku (shranjevanje vrednosti v pomnilnik medpomnilnika za izjave izvršitve). Na koncu zanke prevajalnik pripravi merilo in isto preveri z vrednostjo medpomnilnika.

Stvari, ki jih je treba zapomniti

  • VBA Do Dok je ravno obratni primer Excela VBA Do Čeprav. VBA Do Medtem ko zanka teče, dokler je pogoj TRUE. Ko je pogoj FALSE, zanka Do, ko se konča. Po drugi strani pa VBA Do Dok teče, dokler je stanje NAVODNO. Takoj, ko je pogoj TRUE, zanka preneha.
  • Ima dva načina postopka, enega, pri katerem se stanje preveri na začetku zanke in drugega, kjer se stanje preveri na koncu zanke.

Priporočeni članki

To je vodnik za VBA Do Do Loop. Tukaj smo razpravljali o uporabi Excela VBA Do Do Loop skupaj z nekaj praktičnimi primeri in naložljivo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. VBA Medtem ko je zanka
  2. LOOKUP Formula v Excelu
  3. Izpolnite vadnice o zanki VBA
  4. Tabela za iskanje v Excelu

Kategorija: