Želite avtomatizirati ponavljajoča se opravila v Excelu VBA? Naučite se uporabljati zanko Do-While za ponavljajoče se izvajanje niza dejanj, dokler ni izpolnjen pogoj.
Zanke so sestavni del katerega koli kodirnega jezika in lahko avtomatizirate številne ponavljajoče se naloge z uporabo različnih zank, odvisno od jezika, ki ga uporabljate. Excelov VBA se ne razlikuje od drugih, saj ponuja vrsto možnosti zanke, od katerih vsaka služi drugačnemu namenu.
Te zanke lahko uporabite tako, da definirate začetno in končno točko, pogoje in parametre. Ena takšnih vidnih zank v VBA je zanka do-while, ki jo lahko uporabite za delo z avtomatizacijo podatkov. Tukaj je opisano, kako uporabljati zanko do-while programa Excel VBA, vedno bistveno metodologijo zanke, ki lahko v veliki meri poenostavi vaša ročna opravila.
Kaj je zanka Do-While v Excelu VBA?
Zanka do-while je precej enostavna; to zanko lahko uporabite za licitiranje, če želite ustvariti želeni izhod na podlagi določenega stanja. Zanka se izvaja, dokler definirani pogoji niso True. Ko program naleti na vrednost False, se zanka prekine in natisne rezultate v označene celice.
Zanko do-while lahko uporabljate v različnih stopnjah in z različnimi kriteriji; lahko celo uporabite več zank znotraj glavne zunanje zanke, da izboljšate njeno uporabo. Kot začetnik se morate obrniti na elaborat Vadnice programiranja VBA da nadgradite svoje znanje in veščine na tem področju.
Sintaksa zanke Do-While v Excelu VBA
Zanka do-while ima vnaprej določeno strukturo, ki ji morate slediti, da zagotovite nemoteno delovanje brez napak. Tukaj je sintaksa za referenco:
naredimedtem [referenca_pogoja]
[Izjave o merilih]
Zanka
Zanka se začne s ključno besedo do-while, ki ji sledita začetni in končni sklic. Prvi del sintakse nadzira celotno zanko. Nato morate definirati stavke, ki se bodo izvedli ob vsakem zagonu zanke.
Nazadnje, ko pogoj zanke dobi vrednost False, se ključna beseda zanke izvede in zapusti zanko. To je splošna struktura; lahko ga izboljšate za izvajanje različnih dejanj. Tukaj je nekaj primerov, da se seznanite z delovanjem zanke do-while.
Pisanje vaše prve kode zanke Do-While
Recimo, da želite v stolpcu A prikazati večkratnike dveh. Pogoj je izpisati številke, dokler števec ne doseže 20.
To storite tako, da se v Excelu pomaknete na zavihek Razvijalec in odprete urejevalnik kodiranja; ali pritisnite Alt + F11 da neposredno odprete urejevalnik kodiranja. V oknu urejevalnika kode kliknite Vstavi in dodajte nov modul.
V tem oknu modula morate napisati vso kodo. V modul dodajte naslednjo kodo:
Sub dowhileloop()
Dim a Kot Celo število
a = 1
narediMedtem a <= 10
Celice (a, 1) = 2 * a
a = a + 1
Zanka
Konec Sub
Razlaga kodeksa
Tukaj je razčlenitev kode, ki vam bo v pomoč pri obvladovanju osnov:
- Uporabi podrutino: Če želite začeti pisati kodo v Excelu VBA, ustvarite zunanjo lupino s podrutinsko funkcijo (Sub). Dajte mu smiselno ime, ki odmeva z namenom kode. V tem primeru lahko uporabite ime dowhileloop, ki mu sledi ().
- Določite vrste podatkov: Za deklaracijo podatkovnih tipov spremenljivk je treba uporabiti funkcijo dimenzij (dim). Z deklaracijo vrste podatkov lahko naredite kodo učinkovito in izboljšate hitrost izvajanja. V tem primeru spremenljivka a shranjuje celoštevilske vrednosti, zato ga definirajte s celoštevilskim podatkovnim tipom. V to spremenljivko lahko shranite začetno številko vrstice, da deklarirate začetno podatkovno točko svoje zanke do-while.
- Določite pogoje: Zdaj je čas, da posredujemo pogoj za nadzor zanke do-while. Lahko uporabite delaj medtem ključne besede, ki jim sledi pogoj. Ker želite desetkrat zagnati zanko, uporabite pogoj a < = 10.
- Posredovanje izvedljivih stavkov: Pomembno je, da poznate razliko med Funkcija Cells in funkcija Range v VBA. Funkcija celic uporablja reference vrstic in stolpcev znotraj VBA. Na primer, med prvo iteracijo, ko je vrednost a =1, je formula celice (1,1). V pomnilniku VBA se to prevede v celico A1. Vsakič, ko se zanka izvede, se vrednost definirane spremenljivke poveča, sklic pa se premakne v naslednjo razpoložljivo celico.
- Povečajte svojo spremenljivko: Lahko mimo a = a + 1 stavek za povečanje vrednosti celice. To premakne zanko na naslednji del pogoja; zanka se nadaljuje, dokler pogoj ne dobi vrednosti False.
- Zapustite stanje zanke: Ko je pogoj False, se zanka izstopi s ključno besedo Loop in končno zapusti podprogram s ključno besedo End Sub.
- Izvajanje kode: Ker je koda pripravljena, preprosto pritisnite Tipka F5 ali zeleni gumb za predvajanje v zgornji menijski vrstici za izvedbo kode.
Končni rezultat prikazuje seznam številk od 2 do 20 v stolpcu A.
Uporaba vnaprej izpolnjenega stolpca kot pogoja zanke
Zdaj, ko ste razumeli sintakso in nianse konstruiranja osnovne strukture, zakaj ne bi napisali še ene kode za tiskanje podobnih števil na podlagi že obstoječih kriterijev? Ustvarite lahko na primer pogoj zanke, ki izbere iztočnico iz stolpca A in natisne izhod v stolpcu B.
Na podlagi skupnega števila poseljenih celic v stolpcu A lahko natisnete večkratnike dveh v stolpcu B. Zanka izvaja skupno število vnaprej poseljenih celic osnovnega stolpca A. Ker je začetna vrednost vrstice ena (a =1), je končna vrednost dinamična in jo samodejno izračuna zanka do-while.
Z uporabo svoje vrednosti vrstice se koda pomakne skozi vsako celico v stolpcu A in pomnoži število z 2. Rezultat je prikazan v stolpcu B.
Če je v stolpcu A več kot deset vrednosti, se bo zanka izvajala, dokler v prvem stolpcu ne naleti na prazno vrednost. Podobno lahko v zanko do-while napišete še bolj zapletene pogoje in jih uporabite za preverjanje pogojev in prikaz izhoda po potrebi.
Uporaba stavka IF znotraj zanke Do-While
Tako kot ugnezdene zanke lahko uporabite stavek IF znotraj zanke Do-While, da dodate še eno plast pogoja. V takem primeru zanka do-while zažene celotno zanko, dokler pogoj ni False, notranji stavek IF pa se izvede vsakič, ko se zanka zažene.
V spodnjem primeru se zanka do-while vrti skozi vsako celico v stolpcu A, dokler ne naleti na prazno celico. Nato stavek IF preveri vrednost vsake celice v stolpcu A in natisne izhod v stolpcu B. Takoj ko zunanja zanka naleti na prazno celico v stolpcu A, se zanka ustavi in zapusti podprogram.
Rezultat je naslednji:
Dokler vrednost v stolpcu A ni manjša od pet, je končna vrednost v stolpcu B pet. V A6, ker je vrednost celice večja od pet, je rezultat sedem, kar je sinhronizirano s pogojem IF.
Razkrivanje večplastnih funkcij VBA
Excel in VBA tvorita zelo ugodno kombinacijo za izvajanje napredne analize podatkov. Tudi brez VBA lahko uporabite različne Excelove logične funkcije za izvajanje zapletenih nalog, kar ponazarja vaše sposobnosti programiranja.
Če vas zanima analiza podatkov in uporabljate Excel pri svojih rednih dejavnostih, vam lahko uporaba Excelovih večplastnih logičnih funkcij neizmerno koristi.