Doriți să automatizați sarcinile repetitive în Excel VBA? Aflați cum să utilizați bucla Do-While pentru a executa un set de acțiuni în mod repetat până când o condiție este îndeplinită.
Buclele sunt parte integrantă a oricărui limbaj de codare și puteți automatiza o mulțime de sarcini repetitive, folosind o varietate de bucle, în funcție de limbajul utilizat. VBA-ul Excel nu este diferit de celelalte, deoarece oferă o serie de opțiuni de buclă, fiecare având un scop diferit.
Puteți utiliza aceste bucle definind punctele de început și de sfârșit, condiția (condițiile) și parametrii. O astfel de buclă proeminentă în VBA este bucla do-while, pe care o puteți folosi pentru a lucra cu automatizarea datelor. Iată cum să utilizați bucla do-while a Excel VBA, o metodologie de buclă mereu esențială, care vă poate simplifica într-o mare măsură sarcinile manuale.
Ce este bucla Do-While în Excel VBA?
Bucla do-while este destul de simplă; puteți folosi această buclă pentru a vă licita dacă doriți să generați rezultatul dorit în funcție de o anumită condiție. Bucla se execută până când condiția (condițiile) definite sunt adevărate. Odată ce programul întâlnește o valoare False, bucla se termină și tipărește rezultatele în celulele desemnate.
Puteți utiliza bucla do-while în diferite etape și cu diferite criterii; puteți chiar să utilizați mai multe bucle în interiorul buclei exterioare principale pentru a îmbunătăți utilizarea acesteia. Ca începător, ar trebui să vă referiți la elaborat Tutoriale de programare VBA pentru a vă dezvolta cunoștințele și abilitățile în acest domeniu.
Sintaxa lui Do-While Loop în Excel VBA
Bucla do-while are o structură predefinită, pe care trebuie să o urmați, pentru a vă asigura că funcționează fără probleme, fără erori. Iată sintaxa pentru referință:
Doin timp ce [condition_reference]
[Declarații de criterii]
Buclă
Bucla începe cu cuvântul cheie do-while, urmat de referințele de început și de sfârșit. Prima parte a sintaxei controlează întreaga buclă. Apoi, trebuie să definiți instrucțiunile care se vor executa de fiecare dată când se rulează bucla.
În cele din urmă, odată ce condiția de buclă atrage o valoare False, cuvântul cheie buclă se execută și iese din buclă. Aceasta este o structură generală; îl puteți rafina pentru a efectua diferite acțiuni. Iată câteva exemple pentru a vă familiariza cu funcționarea unei bucle do-while.
Scrierea primului cod de buclă Do-While
Să presupunem că doriți să afișați multiplii lui doi în coloana A. Condiția este să imprimați numerele până când contorul ajunge la 20.
Pentru a face acest lucru, navigați la fila Dezvoltator din Excel și deschideți editorul de codare; alternativ, apăsați Alt + F11 pentru a deschide direct editorul de codare. În fereastra editorului de cod, faceți clic pe Introduce fila și adăugați un nou modul.
Trebuie să scrieți tot codul în această fereastră de modul. Adăugați următorul cod în interiorul modulului:
Sub dowhileloop()
Dim a La fel de Întreg
a = 1
DoIn timp ce a <= 10
Celulele (a, 1) = 2 * a
a = a + 1
Buclă
Sfârşit Sub
Codul explicat
Iată o detaliere a codului pentru a vă ajuta să stăpâniți elementele de bază:
- Utilizați subrutină: Pentru a începe să scrieți codul în Excel VBA, creați un shell exterior cu o funcție de subrutină (Sub). Dați-i un nume semnificativ, care rezonează cu scopul codului. În acest exemplu, puteți utiliza numele dowhileloop, urmat de ().
- Definiți tipurile de date: Funcția dimensiune (dim) trebuie utilizată pentru a declara tipurile de date variabile. Prin declararea tipului de date, vă puteți eficientiza codul și puteți îmbunătăți viteza de execuție. În acest caz, variabila A stochează valori întregi, deci utilizați tipul de date întreg pentru a-l defini. Puteți stoca numărul de rând de început în această variabilă, pentru a declara punctul de date de pornire al buclei dumneavoastră do-while.
- Definiți condiția (condițiile): Acum, este timpul să treceți condiția pentru a controla bucla do-while. Puteți folosi face în timp ce cuvinte cheie, urmate de condiție. Deoarece doriți să rulați bucla de zece ori, utilizați condiția a < = 10.
- Transmiteți declarațiile executabile: Este important pentru tine să știi diferența dintre Funcția celulelor și funcția Range în VBA. Funcția de celule folosește referințele la rânduri și coloane din VBA. De exemplu, în timpul primei iterații, când valoarea a =1, formula celulei este (1,1). În memoria VBA, aceasta se traduce în celula A1. De fiecare dată când se execută bucla, valoarea variabilei definite crește, iar referința se mută la următoarea celulă disponibilă.
- Creșteți-vă variabila: Poți trece a = a + 1 instrucțiune pentru a incrementa valorile celulei. Aceasta mută bucla la următoarea parte a condiției; bucla continuă să ruleze până când condiția atrage o valoare False.
- Ieșiți din condiția Loop: Odată ce condiția este False, bucla se iese cu cuvântul cheie Loop și, în final, iese din subrutină cu cuvântul cheie End Sub.
- Executarea codului: Deoarece codul este gata, apăsați pur și simplu pe Tasta F5 sau butonul verde de redare din bara de meniu de sus pentru a executa codul.
Rezultatul final arată o listă de numere de la 2 la 20 în coloana A.
Utilizarea unei coloane pre-populate ca condiție de buclă
Acum că ați înțeles sintaxa și nuanțele construirii unei structuri de bază, de ce să nu scrieți un alt cod pentru a tipări numere similare pe baza unor criterii preexistente? De exemplu, puteți crea o condiție de buclă care își preia indicația din coloana A și imprimă rezultatul în coloana B.
Pe baza totalului de celule populate din coloana A, puteți tipări multipli de doi în coloana B. Bucla rulează numărul total al coloanei A de bază de celule pre-populate. Deoarece valoarea rândului de început este una (a = 1), valoarea finală este dinamică și este autocalculată de bucla do-while.
Folosind valoarea de rând, codul trece prin fiecare celulă din coloana A și înmulțește numărul cu 2. Rezultatul este afișat în coloana B.
Dacă există mai mult de zece valori în coloana A, bucla va rula până când va întâlni o valoare goală în prima coloană. În mod similar, puteți scrie condiții și mai complexe în bucla do-while și o puteți utiliza pentru a verifica condițiile și a afișa rezultatul după cum este necesar.
Utilizarea unei instrucțiuni IF într-o buclă Do-While
La fel ca buclele imbricate, puteți utiliza instrucțiunea IF în bucla Do-While, pentru a adăuga un alt strat de condiție. Într-un astfel de caz, bucla do-while rulează întreaga buclă până când condiția este False, iar instrucțiunea IF internă se execută de fiecare dată când rulează bucla.
În exemplul de mai jos, bucla do-while parcurge fiecare celulă din coloana A, până când întâlnește o celulă goală. Ulterior, instrucțiunea IF verifică valoarea fiecărei celule din coloana A și tipărește rezultatul în coloana B. De îndată ce bucla exterioară întâlnește o celulă goală în coloana A, bucla se oprește și iese din subrutină.
Ieșirea este după cum urmează:
Până când valoarea din coloana A este mai mică decât egală cu cinci, valoarea rezultată din coloana B este cinci. În A6, deoarece valoarea celulei este mai mare de cinci, rezultatul rezultat este șapte, ceea ce este sincronizat cu condiția IF.
Dezvăluirea funcționalităților cu mai multe fațete ale VBA
Excel și VBA formează o combinație foarte favorabilă pentru efectuarea analizei avansate a datelor. Chiar și fără VBA, puteți utiliza diverse funcții logice Excel pentru a efectua sarcini complicate, exemplificând abilitățile dumneavoastră de programare.
Dacă sunteți interesat de analiza datelor și utilizați Excel în activitățile dvs. obișnuite, puteți beneficia enorm de pe urma utilizării funcțiilor logice cu multiple fațete ale Excel.