VBA Dok je petlja

VBA Iako je petlja važan i moćan koncept koji ste mogli vidjeti u većini programskih jezika. Ako savladate ovaj koncept pod VBA, moći ćete pripremiti moćne skripte koje rade s podacima proračunskih tablica na potpuno različite i praktične načine. U ovom se članku pripremite za istraživanje svijeta različitih dok petlje zajedno s više primjera dolaze za vašu pomoć.

Svrha petlje Iako je ponoviti određeni blok izjava pod uvjetom da je ispunjen uvjet. Preciznije, dok petlja ponavlja odgovarajuću izjavu, a uvjet je True. Jednom kada uvjet postane lažan (ne ispunjava), petlja se prekida.

U Microsoft Excel VBA u osnovi postoje dvije vrste petlje:

  • VBA Dok-Wend petlja
  • VBA petlja do-dok

VBA while-Wend Petlja postoji da bi kôd bio kompatibilan sa starijom verzijom kodova. VBA Do-Iako je ažurirana verzija while petlje koja je fleksibilnija i strukturiranija u odnosu na prethodnu i preporučuje je za upotrebu u Microsoftovoj zajednici.

Za svaki slučaj, pitate se što znači Wend, to je kratki oblik Dok Kraj i djeluje kao isti.

Primjeri VBA Dok se petlja

Zaronimo duboko u korak po korak vodič različitih vrsta VBA Dok se petlje.

Možete preuzeti ovaj VBA predložak dok petlja Excel ovdje - VBA predložak dok petlja Excel

Primjer 1

VBA Dok-Wend petlja

Sintaksa:

Uzmimo primjer kako bismo to vidjeli na bolji način.

  • Definirajte podprocedura za stvaranje makronaredbe pod novim modulom.

Kodirati:

 Sub DokEx1 () Kraj Sub 

  • Postavite dvije varijable Broj na jedan i Zbir na Nulu.

Kodirati:

 Sub DokEx1 () Broj = 1 Zbroj = 0 Kraj Sub 

  • Postavite neko vrijeme za varijablu Broj.

Kodirati:

 Sub DokEx1 () Broj = 1 Zbroj = 0 Dok Broj <= 10 Kraj Sub 

  • Dodajte naredbe koje će se izvršiti za to stanje dok je uvjet.

Kodirati:

 Sub Dok je Exx1 () broj = 1 zbroj = 0 dok je broj <= 10 zbroj = zbroj + broj broj = broj + 1 krajnji sub 

  • Dodajte Debug.Print Sumu tako da se zbroj prvih 10 prirodnih brojeva može ispisati jedan po jedan u neposrednom prozoru.

Kodirati:

 Sub DokEx1 () Broj = 1 Zbroj = 0 Dok je broj <= 10 Zbroj = Zbroj + Broj Broj = Broj + 1 Debug.Pisak Zbroj Kraj Sub 

  • Konačno, završavajte dok petlja Wend ima izraz.

Kodirati:

 Sub Dok je Exx1 () broj = 1 zbroj = 0 dok je broj <= 10 zbroj = zbroj + broj broj = broj + 1 debug. Ispis zbroja krajnjeg sub 

  • Pritisnite F5 ili Run Button da biste pokrenuli ovaj kod i pogledali izlaz.

U ovom je kodu varijabla zbroja postavljena na nulu. Dakle, svaki put kada se broj poveća za 1 dok ne dosegne 10 (koristeći while petlju), varijabla zbroja dodaje prethodni zbroj s trenutnim brojem i prikazuje ga u retku neposrednog prozora po retku ili postupnom zbroju koji možete reći.

Primjer 2

VBA petlja do-dok

Petlja dok ne radi kada se provjeri stanje prije pokretanja petlje

Postoje dva načina na koji se izvršava petlja.

  • Možete dodati uvjet prije nego što se petlja pokrene (To je isto kao petlja Dok-Wend). Ovdje ne bi bilo ponavljanja petlje ako se stanje prvi put pokvari.
  • Možete dodati uvjet na posljednjoj petlji radi provjere. U ovom će slučaju postojati barem jedna ponavljanje petlje prije nego što uvjet ne uspije.

Sintaksa:

Uzmimo jedan primjer da stvari budu jasnije.

  • Umetnite novi modul i definirajte novi podpostupak za definiranje makronaredbe.

Kodirati:

 Sub DokEx2 () Kraj Sub 

  • Definirajte novu varijablu I kao cijeli broj. I započnite njegovu vrijednost na 1.

Kodirati:

 Sub DokEx2 () Dim i Dim Integer i = 1 Krajnji Sub 

  • Upotrijebite Do-while za dodavanje uvjeta na početku petlje.

Kodirati:

 Sub DokEx2 () Dim i Dim Integer i = 1 Učini dok je <= 10 Kraj Sub 

  • Dodajte izjave koje će se izvršiti sve dok je uvjet istinit. Dodajte donji redak koda u makronaredbu.

Kodirati:

 Sub DokEx2 () Dim i Dim Integer i = 1 Učini dok je <= 10 ćelija (i, 1) .Value = i * i Kraj Sub 

Ova izjava omogućuje da prvi redak prvog stupca pohranjuje kvadratnu vrijednost brojeva.

  • Dodajte još jednu izjavu koja omogućava povećanje u i po 1 pri svakoj iteraciji petlje.

Kodirati:

 Sub DokEx2 () Dim i Dim Integer i = 1 Učini dok je <= 10 ćelija (i, 1) .Value = i * ii = i + 1 petlja Kraj Sub 

  • Dovršite ovu petlju dodavanjem izjave Loop na kraju vašeg koda.

Pogledajmo rješenje ovog koda:

Za vrijednosti i od 1 (prvotno i = 1) do 10, izračunava, i * i (tj. Vrijednost kvadrata za svaku cjelobrojnu vrijednost i) i unosi je u retke 1 do 10 stupca 1 (tj. Stupac A), respektivno, Izlaz nije ništa drugo do vrijednosti kvadrata od 1 do 10.

  • Pokrenite ovaj kod pritiskom na tipku F5 ili Run i pogledajte izlaz.

Možete vidjeti kvadratne vrijednosti prirodnih brojeva 1 do 10 koje se pohranjuju u svakoj ćeliji zasebno u stupcu A.

Primjer 3

Petlja dok traje dok se na kraju petlje provjeri uvjet

Sintaksa:

Pogledajmo primjer da se petlja vidi na bolji način.

  • Umetnite novi modul i definirajte novi podpostupak za pohranu makronaredbe.

Kodirati:

 Sub DokEx3 () Kraj Sub 

  • Definirajte novi cijeli broj i isto kao u prethodnom primjeru i dodijelite mu početnu vrijednost.

Kodirati:

 Sub DokEx3 () Dim i Dim Integer i = 1 Krajnji Sub 

  • Upotrijebite uvjet Do da biste dodali da se izjave izvršavaju dok god je uvjet istinit.

Kodirati:

 Sub DokEx3 () Dim i Dim Integer i = 1 Do ćelije (i, 2) .Value = i * ii = i + 1 Kraj Sub 

Preporučuje se korištenje bijelog prostora (tipka Tab) kao uvlačenje prikazano u gornjem kôdu, što omogućava kôdu nesmetano pokretanje i također definira dobar oblik strukture koda.

  • Upotrijebite petlju dok dodate uvjet koji će se provjeriti za svaku izjavu koja treba izvršiti.

Kodirati:

 Sub DokEx3 () Dim i Dim Integer i = 1 Do ćelije (i, 2) .Value = i * ii = i + 1 petlja, a i <= 10 Kraj Sub 

  • Pokrenite ovaj kôd pritiskom na tipku F5 ili Run ručno i pogledajte izlaz.

Vidjet ćete izlaz kao što je prikazano na slici iznad.

Kako djeluje ovaj kodek u rezervnom dijelu?

Sustav množi vrijednost i (počevši od 1) do sebe i pohranjuje u drugi stupac (ćelije (i, 2)) za svaki red, jednu po jednu. Kôd se zaustavlja izvršiti čim vrijednost varijable i dosegne 10. Izlaz može biti isti što logično znači da oba koda rade kao ista. Ali glavna razlika je u sastavljanju koda. U posljednjem primjeru stanje je već bilo i sustav je znao do kojeg broja mora ići. Međutim, u ovom kodu sustav nije svjestan stanja u trenutku izvršenja izjava i pokreće iteraciju jednu po jednu. Sve dok je uvjet lažan, kod se prestao izvršavati.

Stvari koje treba zapamtiti o VBA Dok je petlja

  • Petlja za dok je Wend zastarjela i je li samo kompatibilna sa starijim verzijama kodova. Umjesto toga, trebali biste koristiti petlju Do-while.
  • Do-while petlja je fleksibilnija i dobro strukturirana u usporedbi s petljom dok je Wend.
  • Petlja do-while može se koristiti na dva načina, gdje u jednom slučaju prvo možete dodati uvjet koji se provjerava, a zatim dodati izjave koje zadovoljavaju uvjet. Na drugi način, možete najprije dodati izjave, a kasnije dodati uvjet koji treba provjeriti.
  • Odrezivanja se preporuča koristiti u petlji kako bi kôd mogao biti dinamičniji i lakši za čitanje.

Preporučeni članci

Ovo je Vodič za VBA učiniti dok petlja. Ovdje smo raspravljali o tome kako koristiti Excel VBA Do while Loop zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. Kako se u programu Excel koristi FIND funkcija?
  2. Kako se koristi VBA TRIM funkcija?
  3. VBA nizovi | Kompletan vodič
  4. Kako se koristi slučaj VBA Select?

Kategorija: