Excel VBA učiniti do petlje

Učinite sve dok petlja nastavi ponavljati izjave dok uvjeti / kriteriji ne postanu TRUE. Ona će izvršavati izjave sve dok su uvjeti FALSE. Čim uvjet / kriterij postanu TRUE, on prekida petlju. To može izgledati suprotno petlji Do while, gdje petlja traje sve dok su kriteriji TRUE i prekidaju se čim su kriteriji FALSE.

Pogledajte dijagram toka ispod koji objašnjava rad petlje Do Do:

Sintaksa Do do petlje u Excelu VBA

Učinite sve dok Loop u Excelu VBA ne sadrži dvije vrste sintakse.

Sintaksa 1:

 Izvršite dok se ne ispuni (uvjet) (izjave koje se izvršavaju) 

Sintaksa 2:

 Obavljajte (izjave koje se izvršavaju) petlje dok (uvjet) 

Osnovna razlika između ove dvije sintakse je izvršenje. U prvoj sintaksi, petlja će uvijek provjeriti je li uvjet True ili False. Ako je netočno, opet će ponoviti petlju. Čim je uvjet / kriterij istinit, on će prekinuti petlju. U ovom slučaju, postoji mogućnost da se petlja zaustavi pri prvoj iteraciji (ako je uvjet istinit). Dakle, u tom slučaju nećete dobiti nikakav izlaz. Međutim, u drugoj sintaksi petlji će početno izvršiti izjave i provjeriti je li istina ili neistina. Ako je uvjet lažan, opet će izvršiti isti skup izjava i provjeriti stanje. Ako prva iteracija sama po sebi daje uvjet kao True, ta petlja se prekida, ali prije nje će se naredba izvršiti. U tom slučaju dobit ćemo barem jednu iteraciju (kao nultat izlaz).

Napokon, izlaz dva koda bit će isti. Međutim, ovrha je nešto što razlikuje ovo dvoje.

Primjer programa Excel VBA učiniti do petlje

Pogledajmo primjere Do Do Loop u Excelu VBA.

Ovdje možete preuzeti ovaj VBA predložak do petlje Excel predložak - VBA Do petlje Excel predložak

Primjer br. 1 - VBA radi do petlje kad se uvjeti provjere na početku

Slijedite dolje navedene korake za primjenu petlje Do Do u Excelu VBA.

Korak 1: Umetnite novi modul u Visual Basic Editor (VBE) da biste mogli upisivati ​​kôd.

Korak 2: Definirajte podprocedura koja može pohraniti makro kod koji ćete pisati.

Kodirati:

 Sub Do_Until_Ex1 () Kraj Sub 

Korak 3: Definirajte novu varijablu "X" s tipom podataka kao "Long". Ova se varijabla može koristiti kao uvjet / kriterij pod petljom Do dok.

Kodirati:

 Sub Do_Until_Ex1 () Dim X Kao dugi kraj Sub 

Korak 4: Početna vrijednost postavite na 1 za varijablu X.

Kodirati:

 Sub Do_Until_Ex1 () Dim X kao dugačak X = 1 krajnji Sub 

5. korak: Pokrenite petlju s ključnim riječima Do dok.

Kodirati:

 Sub Do_Until_Ex1 () Dim X kao dugačak X = 1 učiniti do kraja Sub 

Korak 6: Navedite kriterije kao X = 11 pod Do dok. Ovo je uvjet koji omogućava da se petlja prekine kada je točno True. To znači da će se petlja pokrenuti sve dok vrijednost X = 11. Čim vrijednost za X bude jednaka 11, petlja će prestati.

Kodirati:

 Sub Do_Until_Ex1 () Dim X kao dugačak X = 1 Učini do X = 11 Kraj Sub 

Korak 7: Sada koristite VBA ćelije. Vrijednost funkcija da biste mogli dodati kvadrat svakog broja do X ispod prvog stupca.

Kodirati:

 Sub Do_Until_Ex1 () Dim X Kao dugačak X = 1 Učini dok X = 11 ćelija (X, 1) .Value = X * X Kraj Sub 

Korak 8: Ponovo moramo povećati priraštaj u X na 1, tako da svaki put kada petlja pokrene i provjeri stanje u kojem će prijeći na sljedeći broj i pohraniti kvadratnu vrijednost u odgovarajuću ćeliju do broja 11.

Kodirati:

 Sub Do_Until_Ex1 () Dim X Kao dugačak X = 1 Učini do X = 11 ćelija (X, 1) .Value = X * XX = X + 1 Kraj Sub 

Korak 9: Dovršite ovu petlju Do Dok unesite ključnu riječ „Petlja“ na kraju koda.

Kodirati:

 Sub Do_Until_Ex1 () Dim X Kao dugačak X = 1 Učini dok X = 11 ćelija (X, 1) .Value = X * XX = X + 1 Kraj petlje Sub 

U ovom kôdu željeli smo imati kvadratne vrijednosti za brojeve koji počinju od 1 do 11 (Čim je vrijednost 11, petlja prestaje). Pod svaku ćeliju lista Excela (sve do ćelije broj 11) vrijednosti će se pohraniti. Povećanje od 1 jedinice omogućuje da se svaki put broj poveća za 1 u prethodnoj vrijednosti X, a kvadratna vrijednost tog broja ispisuje se u odgovarajućoj ćeliji. Na primjer, vrijednost kvadrata za 3 bit će ispisana ispod treće ćelije aktivnog excel lista. Ova petlja radi sve dok X nije jednak 11. Stoga, pod ćelijom A1 do ćelije A10, dobivamo vrijednosti kvadrata broja koji počinju od 1 do 10 (na kraju se petlja završava).

Korak 10: Pritisnite tipku Run (Pokreni) ili pritisnite tipku F5 da biste pokrenuli ovaj kod i pogledali izlaz.

Primjer # 2 - Napravite dok ne bude petlje kad se provjere uvjeti na kraju petlje

Slijedite dolje navedene korake za primjenu petlje Do Do u Excelu VBA.

Korak 1: Definirajte novi pod-postupak pod VBE modulom.

Kodirati:

 Sub Do_Until_Ex2 () Kraj Sub 

Korak 2: Definirajte varijablu "Y" s tipom podataka kao "Long". Ova će varijabla biti korisna u ukrašavanju uvjeta.

Kodirati:

 Sub Do_Until_Ex2 () Dim Y Kao dugi kraj Sub 

Korak 3: Početna vrijednost varijable "Y" postavite na 1.

Kodirati:

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

Korak 4: Dodajte uvjet upišite Do u sljedeći redak nakon što postavite početnu vrijednost Y na 1.

Kodirati:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Završi Sub 

Korak 5: Dodajte dio koda koji želite izvršiti u okviru petlje Do. Ovdje ćemo uzeti isti primjer kao i gore (pomoći će nam da saznamo kako su rezultati isti, ali kompilacije su različite za ova dva koda).

Kodirati:

 Sub Do_Until_Ex2 () Dim Y Kao dugi Y = 1 izrađuje tablice ("Primjer 2"). Ćelije (Y, 1) .Value = Y * Y Kraj Sub 

Korak 6: Nakon svake iteracije petlje, htjeli ste da se vrijednost poveća za 1 jedinicu, postavite naredbu za to u odjeljku Do.

Kodirati:

 Sub Do_Until_Ex2 () Dim Y Kao dugi Y = 1 izrađuje tablice ("Primjer 2"). Ćelije (Y, 1) .Value = Y * YY = Y + 1 Kraj Sub 

Korak 7: Dodajte završnu izjavu za ovu petlju s ključnom riječi kao "petlja".

Kodirati:

 Sub Do_Until_Ex2 () Dim Y Kao dugi Y = 1 izrađuje listove ("Primjer 2"). Ćelije (Y, 1) .Value = Y * YY = Y + 1 Kraj petlje Sub 

Drži se! Ima nešto više. Morate dodati kriterije / uvjet pod ovom petljom, ovaj put nakon ključne riječi Loop. To će omogućiti prevoditelju da provjeri stanje na kraju petlje.

Korak 8: Dodajte do Y = 11 kao uvjet nakon petlje ključne riječi.

Kodirati:

 Sub Do_Until_Ex2 () Dim Y Kao dugi Y = 1 izrađuje tablice ("Primjer 2"). Ćelije (Y, 1) .Value = Y * YY = Y + 1 petlja dok Y = 11 Kraj Sub 

Korak 9: Pokrenite ovaj kôd pritiskom na tipku F5 ili Run i pogledajte magiju ispod lista pod nazivom "Primjer 2".

Kako funkcionira ovaj kôd?

Sustav kvadrat svaki puta do vrijednosti Y nalazi se ispod petlje i sprema ga u drugi stupac lista nazvan "Primjer 2", red po red. Nakon svake iteracije, trenutna vrijednost Y povećava se za 1 jedinicu, a ažurirana vrijednost se kvadratira i pohranjuje. Sve dok je vrijednost manja od vrijednosti kriterija (Y = 11), kod će činiti kvadrat i pohraniti ga. Čim kompajler vrijednosti dosegne vrijednost Y = 11, zaustavlja izvršenje koda i isti završava.

Oba koda daju sličan izlaz, ali logično postoji razlika u kompilacijama za oba. U prvoj vrsti koda stanje se provjerava na početku petlje, a ako je netočno, samo petlja započinje ocjenjivanje sljedećeg izraza. Međutim, u drugom primjeru kod počinje pokretati petlju i izvršavati Do izjave na početku (pohranjivanje vrijednosti u međuspremnik memorije za naredbe izvršenja). Na kraju petlje, prevoditelj dolazi s kriterijem i provjerava isti s vrijednosti međuspremnika.

Stvari koje treba zapamtiti

  • VBA Do Dok je upravo obrnut slučaj Excela VBA Do Dok. VBA učiniti Dok petlja traje sve dok je uvjet TRUE. Jednom kada je uvjet FALSE, Do while petlja se prekida. S druge strane, VBA Do Dok traje sve dok je uvjet FALSE. Čim je uvjet TRUE, petlja se ukida.
  • Ima dva načina postupka, jedan gdje se uvjet provjerava na početku petlje i drugi gdje se stanje provjerava na kraju petlje.

Preporučeni članci

Ovo je vodič za VBA "Do petlje". Ovdje smo raspravljali o tome kako koristiti Excel VBA Do Don't Loop zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. VBA Dok je petlja
  2. LOOKUP Formula u Excelu
  3. Kompletne poduke o VBA petlji
  4. Tablica za pretraživanje u Excelu

Kategorija: