Želite automatizirati zadatke koji se ponavljaju u programu Excel VBA? Naučite kako koristiti petlju Do-While za ponavljanje niza radnji dok se uvjet ne ispuni.
Petlje su sastavni dio svakog jezika kodiranja i možete automatizirati mnoštvo ponavljajućih zadataka korištenjem različitih petlji, ovisno o jeziku koji vam je pri ruci. Excelov VBA ne razlikuje se od ostalih budući da nudi niz opcija petlji, od kojih svaka služi različitoj svrsi.
Ove petlje možete koristiti definiranjem početne i završne točke, uvjeta(a) i parametara. Jedna takva istaknuta petlja unutar VBA je petlja do-while, koju možete koristiti za rad s automatizacijom podataka. Evo kako koristiti Excel VBA petlju do-while, uvijek bitnu metodologiju petlji, koja može u velikoj mjeri pojednostaviti vaše ručne zadatke.
Što je petlja Do-While u programu Excel VBA?
Do-while petlja je prilično jednostavna; možete upotrijebiti ovu petlju za licitiranje ako želite generirati željeni izlaz na temelju određenog uvjeta. Petlja se izvršava sve dok definirani uvjet(i) ne postane True. Nakon što program naiđe na False vrijednost, petlja se prekida i ispisuje rezultate u označenim ćelijama.
Možete koristiti do-while petlju u različitim fazama i s različitim kriterijima; čak možete koristiti višestruke petlje unutar glavne vanjske petlje kako biste poboljšali njezinu upotrebu. Kao početnik, trebali biste se obratiti razraditi VBA programski tutorijali da unaprijedite svoje znanje i vještine u ovoj domeni.
Sintaksa petlje Do-While u programu Excel VBA
Do-while petlja ima unaprijed definiranu strukturu, koju trebate slijediti kako biste osigurali da radi glatko bez pojavljivanja pogrešaka. Evo sintakse za referencu:
Činidok [referenca_uvjeta]
[Izjave o kriterijima]
Petlja
Petlja počinje ključnom riječi do-while, nakon koje slijede početna i završna referenca. Prvi dio sintakse kontrolira cijelu petlju. Zatim trebate definirati naredbe koje će se izvršavati svaki put kada se petlja pokrene.
Konačno, kada uvjet petlje dobije False vrijednost, ključna riječ petlje se izvršava i izlazi iz petlje. Ovo je cjelokupna struktura; možete ga poboljšati za izvođenje različitih radnji. Evo nekoliko primjera da se upoznate s radom do-while petlje.
Pisanje vašeg prvog koda petlje Do-While
Pretpostavimo da želite prikazati višekratnike dva u stupcu A. Uvjet je da se ispisuju brojevi dok brojač ne dođe do 20.
Da biste to učinili, idite na karticu Developer u vašem Excelu i otvorite uređivač kodiranja; ili pritisnite Alt + F11 za izravno otvaranje uređivača kodiranja. U prozoru uređivača koda kliknite Umetnuti i dodajte novi modul.
Morate napisati sav kod unutar ovog prozora modula. Dodajte sljedeći kod unutar modula:
Sub dowhileloop()
Dim a Kao Cijeli broj
a = 1
ČiniDok a <= 10
Ćelije (a, 1) = 2 * a
a = a + 1
Petlja
Kraj Pod
Objašnjenje koda
Evo raščlambe koda koja će vam pomoći da svladate osnove:
- Koristite podrutinu: Da biste započeli pisanje koda u programu Excel VBA, izradite vanjsku ljusku s funkcijom potprograma (Sub). Dajte mu smisleno ime koje je u skladu sa svrhom koda. U ovom primjeru možete koristiti naziv dowhileloop, nakon kojeg slijedi ().
- Definirajte tipove podataka: Funkcija dimenzije (dim) mora se koristiti za deklariranje varijabilnih tipova podataka. Deklariranjem tipa podataka možete učiniti svoj kod učinkovitijim i poboljšati brzinu izvršenja. U ovom slučaju varijabla a pohranjuje cjelobrojne vrijednosti, pa za definiranje koristite tip podataka integer. Možete pohraniti početni broj retka unutar ove varijable, kako biste deklarirali početnu podatkovnu točku vaše do-while petlje.
- Definirajte uvjet(e): Sada je vrijeme da prođete uvjet za kontrolu do-while petlje. Možete koristiti učiniti dok ključne riječi, iza kojih slijedi uvjet. Budući da želite pokrenuti petlju deset puta, koristite uvjet a < = 10.
- Proslijedite izvršne naredbe: Važno je da znate razliku između Funkcija Cells i funkcija Range u VBA. Funkcija ćelija koristi reference retka i stupca unutar VBA. Na primjer, tijekom prve iteracije, kada je vrijednost a =1, formula ćelije je (1,1). U VBA memoriji to se prevodi u ćeliju A1. Svaki put kada se petlja izvrši, vrijednost definirane varijable se povećava, a referenca se pomiče na sljedeću dostupnu ćeliju.
- Povećajte svoju varijablu: Možete proći a = a + 1 naredba za povećanje vrijednosti ćelije. Ovo pomiče petlju na sljedeći dio uvjeta; petlja se nastavlja izvoditi sve dok uvjet ne dobije False vrijednost.
- Izađite iz stanja petlje: Jednom kada je uvjet False, petlja izlazi s ključnom riječi Loop, i konačno, izlazi iz potprograma s ključnom riječi End Sub.
- Izvršavanje koda: Budući da je kod spreman, jednostavno pritisnite Tipka F5 ili zeleni gumb za reprodukciju na gornjoj traci izbornika za izvršenje koda.
Konačni rezultat prikazuje popis brojeva od 2-20 unutar stupca A.
Korištenje unaprijed popunjenog stupca kao uvjeta petlje
Sada kada ste razumjeli sintaksu i nijanse konstruiranja osnovne strukture, zašto ne biste napisali još jedan kod za ispis sličnih brojeva na temelju već postojećih kriterija? Na primjer, možete stvoriti uvjet petlje koji odabire svoj znak iz stupca A i ispisuje izlaz u stupcu B.
Na temelju ukupnog broja popunjenih ćelija u stupcu A, možete ispisati višekratnike dva u stupcu B. Petlja izvodi ukupni broj prethodno popunjenih ćelija osnovnog stupca A. Budući da je početna vrijednost retka jedan (a =1), završna vrijednost je dinamička i automatski je izračunava do-while petlja.
Koristeći svoju vrijednost retka, kod prolazi kroz svaku ćeliju u stupcu A i množi broj s 2. Izlaz je prikazan u stupcu B.
Ako postoji više od deset vrijednosti u stupcu A, petlja će se izvoditi sve dok ne naiđe na praznu vrijednost u prvom stupcu. Slično tome, možete napisati čak i složenije uvjete unutar do-while petlje i koristiti je za provjeru uvjeta i prikaz izlaza prema potrebi.
Korištenje IF naredbe unutar Do-While petlje
Poput ugniježđenih petlji, možete upotrijebiti naredbu IF unutar Do-While petlje za dodavanje još jednog sloja uvjeta. U takvom slučaju petlja do-while pokreće cijelu petlju sve dok uvjet nije False, a unutarnja IF naredba se izvršava svaki put kada se petlja pokrene.
U donjem primjeru, petlja do-while kruži kroz svaku ćeliju u stupcu A, dok ne naiđe na praznu ćeliju. Nakon toga, naredba IF provjerava vrijednost svake ćelije u stupcu A i ispisuje izlaz u stupcu B. Čim vanjska petlja naiđe na praznu ćeliju u stupcu A, petlja se zaustavlja i izlazi iz potprograma.
Izlaz je sljedeći:
Sve dok vrijednost u stupcu A ne bude manja od jednake pet, rezultirajuća vrijednost u stupcu B je pet. U A6, budući da je vrijednost ćelije veća od pet, rezultirajući izlaz je sedam, što je u skladu s uvjetom IF.
Razotkrivanje VBA-ovih višestrukih funkcionalnosti
Excel i VBA čine vrlo pogodnu kombinaciju za izvođenje napredne analize podataka. Čak i bez VBA, možete koristiti razne Excelove logičke funkcije za izvođenje kompliciranih zadataka, što predstavlja primjer vaših programerskih vještina.
Ako ste zainteresirani za analizu podataka i koristite Excel u svojim redovitim aktivnostima, možete imati neizmjerne koristi od korištenja Excelovih višestrukih logičkih funkcija.