Ciclurile și instrucțiunea if sunt macro-uri în Excel

Cunoașteți deja obiectele de bază ale VBA Excel și acțiunile cu ele. Este timpul să mergem la o automatizare reală.

Ciclurile sunt acțiuni repetitive. Uneori este necesar să efectuați aceeași acțiune de un anumit număr de ori (de exemplu, pe cinci coli introduceți o coloană cu aceleași date sau antet) și uneori este necesar să faceți o acțiune "atâta timp cât" (De exemplu, până când nu există șir cu datele necesare). În VBA, pentru aceste două cazuri, există două cicluri: "pentru" - pentru a repeta numărul specificat de ori și "în timp" - pentru a repeta acțiunile "atâta timp cât". Diferența dintre cele două cicluri este una singură: în primul caz știi de câte ori trebuie să repeți ciclul, iar în al doilea nu știi, dar știi când să te oprești. Există și alte cicluri, dar ele pot fi ușor înlocuite de aceste două.







Luați exemplul nostru: trebuie să introduceți cinci coloane, de exemplu, prima coloană, goală.

Pentru i = 1 până la 5 'atribuie valorile variabilei i pentru prima dată 1,

"apoi adăugând 1 la fiecare intrare nouă în

„Ciclul. Valoarea 5 va fi ultima.

Foi (i) .Activare 'activați următoarea foaie

Coloanele (1). Introduceți "introduceți prima coloană

Înainte de sfârșitul ciclului, adică sfârșitul listei de acțiuni,

"care trebuie să se facă de cinci ori la rând







Ciclul În timp este utilizat mai des decât Pentru. pentru că deseori nu știm de câte ori să facem ceva. Este folosit, de exemplu, când căutați o cusătură cu criteriile specificate. Luați în considerare acest exemplu: în coloane există date - nume (1 coloană), nume (2 coloană), patronimic (3), anul nașterii (4). Trebuie să-l găsim pe Ivanov și, de exemplu, să îl scoatem de la bază. Să presupunem că știm că o astfel de persoană este una. Apoi programul poate fi următorul:

i = 2 'determina cu ce linie începe baza de date (anteturile se află în prima linie)

În timp ce celulele (i, 1)<>"Ivanov" "face până

Ca rezultat, ciclul se va termina pe linia dorită. După asta poți face orice cu această linie.

Sau poate că nu știm câți Ivanovi în baza noastră de date și doriți să le eliminați pe toți. Aici avem nevoie de operatorul condițional Dacă

Declarația conditională Dacă (dacă) este numită așa deoarece verifică condiția. Principiul muncii sale este foarte simplu de înțeles: dacă condiția este îndeplinită, atunci o facem, altfel o facem. Să luăm în considerare exemplul nostru: trebuie să trecem prin întreaga bază de date, adică până când liniile sunt goale, și anume:

În timp ce C ells (i, 1)<>„“

Rețineți că este important să nu existe omisiuni. Dacă baza de date conține rânduri cu celule goale, puteți specifica o condiție mai complexă, de exemplu

Faceți ca celule (i, 1)<>"și C ells (i + 1,1)<>"și C ells (i + 2,1)<>„“

adică este necesar ca trei rânduri la rând să fie goale în prima coloană. sau

Faceți ca celule (i, 1)<>"și C ells (i, 2)<>"și C ells (i, 3)<>„“

adică este necesar ca prima, a doua și a treia coloană a liniei să fie goale.

Folosim această condiție

Faceți ca celule (i, 1)<>"și C ells (i, 2)<>"și C ells (i, 3)<>„“

IfCells (i, 1) = "Ivanov" apoi "Dacă în linia Ivanov

Rânduri (i) .Delete "apoi ștergeți această linie

i = i-1 "reveniți la linia de mai sus

Sfârșit Dacă este o condiție de închidere

i = i + 1 'mergeți la linia următoare







Trimiteți-le prietenilor: