Utilizarea macrocomenzilor ciclului
La procesarea datelor, macro-urile, ciclurile numite, sunt foarte utile. care efectuează automat aceleași acțiuni în mod repetat. Utilizatorul, care lucrează cu seturi de date mari sau cu rețele de mărimi diferite, poate economisi mult timp și efort.
Ciclul nu ... Buclele
În buclă de buclă Do ..., rândurile sunt numărate în intervalul de date până la găsirea unui șir gol.
Să presupunem că doriți să calculați numărul de rânduri într-o gamă de date care pot fi mici sau poate foarte solide. Pentru a face acest lucru, utilizați bucla Do ... Loop. Efectuează acțiunea specificată de câte ori este necesar. În acest caz, se numără numărul tuturor rândurilor găsite în interval. Sau, să presupunem că doriți să efectuați o acțiune în două intervale de date care conțin un număr diferit de rânduri. Și în acest caz, ciclul Nu ... Buclele vor fi utile. Acesta va fi executat de câte ori este necesar pentru fiecare dintre gamele. Cum va determina ciclul de repetare a acțiunii de câte ori? Din condițiile pe care le-ați stabilit. Repetarea se va opri de îndată ce va fi detectată o anumită parte a datelor, de exemplu un șir gol sau un text.
Ca o condiție pentru a ieși din buclă de buclă Do ..., se aplică condiția În timp sau condiția Până la condiție. Buclele sunt executate până când instrucțiunea specificată rămâne adevărată (în timp ce) sau până când devine adevărată (până la). Deci, pentru a specifica un ciclu care se oprește când o celulă goală este găsită în prima coloană, utilizați condiția În timp:
În conformitate cu această condiție, în timp ce bucla este executată până când celula pe care o procesează este goală. Șirul de procesat este dat de numărul x, iar prima celulă din această linie are coordonatele (x, 1). Combinarea semnelor <> înseamnă "nu egal". Citate, între care nu există nimic, indică o celulă goală.
Dacă buclă trebuie executată înainte ca celula care conține numărul 365 să fie găsită, utilizați condiția Until. În orice caz, tu ești tu care oferiți programului informații care îi ajută să determine când să ieșiți din ciclu.
Ciclu pentru fiecare ... Mai departe
Clicul "Pentru fiecare ..." vă permite să evidențiați fiecare cuvânt "OK" în textul fragmentului selectat într-un font mai întunecat.
Clicul For Each ... Următorul buclă este utilizat pentru a efectua unele acțiuni pe fiecare celulă din intervalul de date. Să presupunem, de exemplu, că în intervalul selectat cuvântul "OK" trebuie să fie afișat într-un font mai întunecat în comparație cu restul textului. Codul va arata cam asa:
Aici, "MyCell" indică celula curentă care este procesată în bucla și "Pentru fiecare" înseamnă că toate celulele fragmentului selectat sunt scanate în ciclu. Dacă se găsește o celulă care conține numai cuvântul "OK", acest cuvânt este evidențiat într-un font întunecat. (Aspectul textului este controlat de proprietatea Font, iar atributul Bold înseamnă boldface.)
Bucle invatate
Desigur, acest cod nu va fi executat în Excel. dar arată clar că fiecare ciclu mare (revoluția din jurul Soarelui) include 365 de cicluri mici (revoluțiile Pământului în jurul axei sale).
Sau considerați o procedură care este de fapt executabilă în Excel. Să presupunem că trebuie să eliminați linii duplicate din foaie. Pentru a face acest lucru, este suficient să comparăm primul rând cu fiecare dintre cele ulterioare și să ștergem toate duplicatele, dacă le găsim, apoi să comparăm a doua linie cu fiecare ultima, etc. Bucla exterioară asigură repetarea acestui proces pentru fiecare linie. În bucla interioară, veți compara și ștergeți rândurile.
Utilizarea celulelor în cicluri
Coloanele sunt notate cu numere, nu cu litere.
Datele conținute în celulă pot fi obținute în codul ciclului macro în două moduri diferite. Una dintre ele implică utilizarea proprietății celulelor. iar al doilea este de a folosi proprietatea Range. În VBA, este de obicei mai ușor și mai convenabil să lucrați cu proprietatea celulelor. Deoarece modificarea valorilor descrise este mai ușoară. Proprietatea Range identifică rândurile și coloanele dintr-o foaie utilizând numere și litere, iar proprietățile celulelor și rândurile și coloanele sunt notate cu numere. Adăugarea +1 pentru aceste numere vă permite să sari cu ușurință de la un rând la altul și dintr-o coloană într-o coloană, dar să implementați tranziția de la o literă la alta nu este atât de ușor.
Consiliul. Dacă este necesar, în foaia de calcul, puteți specifica afișarea numerelor coloanelor în locul simbolurilor cu litere. În meniul Instrumente, faceți clic pe Opțiuni, apoi pe fila General. Selectați caseta de selectare R1C1 Link Style. Dacă mai târziu trebuie să returnați denumirile anterioare, debifați această casetă.
exercițiu
Pentru a finaliza exercițiul, descărcați fișierele macro1
Exercitarea 1. Numărarea folosind buclă de buclă Do ...
Ciclul de buclă Do ... va fi utilizat pentru a număra numărul de rânduri din intervalul de date.
Notă. În acest exercițiu, variabila z stochează numărul curent de linii, x este numărul liniei curente și y este numărul coloanei (în acest caz este numărul 3, care corespunde coloanei C).
Exercitarea 2. Numărarea celulelor utilizând bucla For Each ... Next
În timpul următoarei lecții practice, veți lua bucle imbricate. Pentru moment, dacă aveți o idee generală despre modul în care funcționează aceste macrocomenzi de cicluri, este mai mult decât suficient.
Notă. Dacă apare un mesaj Microsoft Visual Basic "Compilare eroare", nu vă faceți griji. Acest lucru înseamnă pur și simplu că codul din modul nu se potrivește exact cu codul sugerat de a copia și lipi. Scoateți codul din modul și copiați-l din nou acolo.
Ți-a plăcut materialul? Abonați-vă pentru actualizările site-ului