Excel VBA pentru fiecare buclă

Cuvântul cheie „Fiecare” este utilizat în VBA împreună cu funcția „For”. Semnifică faptul că pentru fiecare entitate dintr-un tablou sau interval repetă procesul pentru buclă. Practic, nu vom introduce intervalul de trepte, adică de la 1 la 5 sau 1 la 10, în schimb, îl vom pune doar așa cum se arată în sintaxa de mai jos.

Sintaxă:

Pentru fiecare nume de obiect din interval

Notă: trebuie să aveți fila Dezvoltator în foaia de lucru excel.

Dacă nu vedeți fila „Dezvoltator” în excel, consultați pașii de mai jos.

Pasul 1: Faceți clic pe Opțiunea fișier .

Pasul 2: apare meniul drop-down, faceți clic pe fila Opțiuni .

Pasul 3: După ce faceți clic pe „Opțiuni”, apare o casetă de dialog așa cum este arătat mai jos și faceți clic pe opțiunea Personalizare panglică .

Pasul 4: Când tragem în jos opțiunile de personalizare a panglicii vom găsi o opțiune pentru dezvoltator, trebuie să bifăm caseta care ne va permite să folosim VBA în excel.

Cum se folosește pentru fiecare buclă în VBA?

Mai jos sunt diferite exemple de utilizat pentru fiecare buclă în Excel folosind codul VBA.

Puteți descărca acest model VBA pentru fiecare buclă Excel aici - șablonul VBA pentru fiecare buclă Excel

Excel VBA pentru fiecare buclă - Exemplul # 1

Vom lua un exemplu simplu pentru fiecare buclă din VBA. Presupunem că mai jos este setul de date din VBA.

Urmați pașii de mai jos pentru a utiliza pentru fiecare buclă în Excel VBA.

Pasul 1: Faceți clic pe fila „Dezvoltator” și apoi faceți clic pe opțiunea „Visual Basic” din partea stângă (prima opțiune), așa cum se arată mai jos.

După ce faceți clic pe ea, o nouă fereastră apare așa cum se arată mai jos.

Veți observa că conține două file pe partea stângă, „Sheet1 (Sheet1)” și „ThisWorkbook”. Singura diferență este „Foaie1” atunci când doriți să executați cod doar pentru această anumită foaie și în „Acest manual de lucru”, putem scrie un cod și executa care poate fi aplicat pentru întregul manual de lucru excel.

Pasul 2: Faceți dublu clic pe „Sheet1 (Sheet1) și veți vedea un ecran gol unde trebuie să scriem codul. Dați un nume subsetului creat. Aici am dat numele ca „Sub For_Each_Ex1 ()”, așa cum se arată în imaginea de mai jos.

Cod:

 Sub For_Each_Ex1 () End Sub 

Acesta este modul în care creăm un subset și apare automat „End Sub”. Aceasta este implicit caracteristica excel. Dacă „End Sub” nu apare codul nu se va executa și va arunca o eroare.

Pasul 3: Vom declara variabilele ca un interval.

Cod:

 Sub For_Each_Ex1 () Dim Câștigă, Range1 Ca Range End Sub 

Aici am declarat două variabile, „Câștig” pe care le vom folosi cu For Each și „Range1” ca interval al setului de date.

Pasul 4: Acum, vom repara o gamă, adică un interval de date pe care trebuie să le prelucrăm folosind cuvântul cheie „Set” așa cum se arată mai jos.

Cod:

 Sub For_Each_Ex1 () Dim Câștigă, Range1 Ca Gama Set Set 1 = Interval ("A1: A10") End Sub 

Aici am stabilit „Range1” ca de la celulele de gamă A1 la A10, care este setul nostru de date.

Pasul 5: Acum vom executa Pentru buclă folosind Fiecare cuvânt cheie.

Cod:

 Sub For_Each_Ex1 () Dim Câștigă, Range1 Ca interval Set Set 1 = Interval ("A1: A10") Pentru fiecare câștig în gamă1 Sub End 

Aici, pentru fiecare valoare din Range, Earn va obține o valoare atribuită, deoarece For loop devine executat pas cu pas.

Pasul 6: Acum, vom folosi cuvântul cheie „Msgbox” pentru a afișa fiecare intrare de linie în intervalul alocat.

Cod:

 Sub For_Each_Ex1 () Dim Câștigă, Range1 Ca set Set Range1 = Interval ("A1: A10") Pentru fiecare câștig în interval 1 MsgBox Earn.Value End Sub 

Aici „Earn.value” va afișa valoarea în celulă, adică pornind de la prima celulă din interval.

Pasul 7: Acum, vrem să executăm următoarea valoare din intervalul de celule dat, prin urmare, trebuie să folosim cuvântul cheie „Următorul” din cod. Aceasta vă va ajuta să mergeți mai departe în interval și să afișați fiecare entitate în intervalul de celule una câte una.

Cod:

 Sub For_Each_Ex1 () Dim Câștigă, Range1 Ca set Set Range1 = Interval ("A1: A10") Pentru fiecare câștig în interval 1 MsgBox Earn.Value Urmărește Câștigă End Sub 

Pasul 8: Rulați codul apăsând butonul F5 sau Run și vedeți ieșirea.

În momentul în care se execută linia de cod „Next Earn”, „Earn.value” va fi alocată cu valoarea celulei următoare din interval. Faceți clic pe „OK” și afișați fiecare valoare în intervalul până la finalizarea intervalului de valori.

Excel VBA pentru fiecare buclă - Exemplul # 2

Vom lua un alt exemplu în care vom afișa numele fiecărei foi într-un fișier excel. Să presupunem că avem fișe numite mai jos în fișierul excel:

După cum observăm că există în jur de 5 foi în fișierul excel și trebuie să afișăm numele fiecăruia.

Vom scrie și executa codul în secțiunea „Acest manual”, așa cum este evidențiat în caseta roșie de mai jos:

Faceți dublu clic pe el și în timp ce apare panoul ferestrei și începeți să scrieți codul în el. Urmați pașii de mai jos pentru a utiliza pentru fiecare buclă în Excel VBA:

Pasul 1: Vom scrie codul prin atribuirea unui subset sub denumirea de mai jos.

Cod:

 Sub pagename () End Sub 

Pasul 2: De asemenea, putem începe direct să scriem instrucțiunea buclă „For” fără a declara variabila așa cum se arată mai jos.

Cod:

 Sub-pagename () Pentru fiecare sht din Application.Sheets End Sub 

Aici „sht” este variabila noastră1 care, în mod implicit, este declarată și „Application.sheets” înseamnă că în fișier se consideră toate foile. Application.fucntion specifică faptul că putem adăuga orice caracteristică sau funcție sau instrument excel care trebuie luat în considerare în timpul executării codului.

Pasul 3: Acum vom introduce sintaxa căsuței de mesaje și împreună cu aceasta vom adăuga sintaxa pe afișarea numelui de foaie, așa cum se arată mai jos:

Cod:

 Sub pagename () Pentru fiecare sht în Application.Sheets MsgBox "Numele foii este:" & sht.Name End Sub 

Aici afirmația pe care am dori să o afișăm este „Numele foii este:” și apoi tastăm un ampersand (&) care concatenează linia de cod și apoi tastăm „sht.Name”, adică va selecta foaia începând de la primul foaie și afișați numele.

Pasul 4: Acum, trebuie să repetăm ​​procesul pentru afișarea fiecărui nume de foaie. Prin urmare, am folosi „Next sht” așa cum se arată mai jos:

Cod:

 Sub pagename () Pentru fiecare sht în Application.Sheets MsgBox "Numele foii este:" & sht.Name Următorul sht End Sub 

„Next sht” va anunța sistemul, ia în considerare următoarea foaie și își va afișa numele pentru executare ulterioară.

Pasul 6: Rulați codul apăsând butonul F5 sau Run și vedeți ieșirea.

Odată ce faceți clic pe „OK” și codul se execută în continuare, acesta va afișa următorul nume de foaie. Codul se va executa până când nu vor mai fi afișate alte foi.

Excel VBA pentru fiecare buclă - Exemplul # 3

Vom lua acum un exemplu în care trebuie să însumăm toate valorile dintr-un set de date sau într-un tablou dat. Presupunem mai jos că este setul de date:.

Urmați pașii de mai jos pentru a utiliza pentru fiecare buclă în Excel VBA:

Pasul 1: Mai întâi declarați numele subsetului drept „eachadd ()”, așa cum se arată mai jos.

Cod:

 Sub eachadd () End Sub 

Pasul 2: Acum, vom declara variabilele necesare, una ca număr întreg numit „total” în care continuăm să însumăm valorile celulelor una câte una și să remediem o gamă de celule care conține valori pe care trebuie să le adăugăm.

Cod:

 Sub eachadd () Dim total ca întregi Dim Dim1 Ca interval End Sub 

Pasul 3: După declararea variabilei și a intervalului, trebuie să remediem intervalul care va fi utilizat pentru buclă. Vom repara acest interval de la celulele A1 la A10 folosind cuvântul cheie „Set” așa cum se arată mai jos:

Cod:

 Sub eachadd () Dim total ca întregi Dim Interval1 Ca gamă Set Range1 = Range ("A1: A10") End Sub 

Pasul 4: Acum putem începe direct să utilizăm funcția For loop și să declaram direct variabila. Aici, folosim „add1” ca variabilă și va fi implicit declarată de sistem.

Cod:

 Sub eachadd () Dim total ca interval întreg Dim Dim1 Ca interval setat Interval1 = Interval ("A1: A10") Pentru fiecare add1 În interval 1 Sub End 

Pasul 5: Adăugarea fiecărei entități în interval una câte una și în variabila declarată „totală”. În mod implicit, valoarea „totalului” inițial este zero. Și trebuie să adăugăm una câte una valoarea celulelor și din nou suma respectivă trebuie să adauge din nou în „total”.

Cod:

 Sub eachadd () Dim total ca întregi Dim Dim1 În funcție de set Set Range1 = Range ("A1: A10") Pentru fiecare add1 În Range1 total = total + add1.Value End Sub 

Instrucțiunea de mai sus este executată de la dreapta la stânga, adică „add1.value” este prima valoare a celulei și se adaugă la „total” care este zero. Prin urmare, suma ar fi 0 + 1 care este 1. Și această sumă ca 1 ar merge în „total” înainte de semnul „=”. Acesta este un avantaj pe măsură ce formula se execută de la stânga la dreapta.

Pasul 6: Adăugați acum „Next add1” care va ajuta acum să luați în considerare următoarea valoare de celulă a intervalului de date și să adăugați acea valoare în variabila „totală”, așa cum se arată mai jos.

Cod:

 Sub eachadd () Dim total ca întregi Dim Range1 Ca rază Set Range1 = Interval ("A1: A10") Pentru fiecare add1 În Range1 total = total + add1.Value Următorul add1 End Sub 

Pasul 6: Apăsați „F8” pentru a rula codul de fiecare linie. De asemenea, putem vedea valoarea „totalului” în imaginea de mai jos.

În mod similar, până când intervalul de celule va trece, pentru bucla va continua să execute această sumă a unui tablou.

Pasul 7: Acum, vom folosi cuvântul cheie „Msgbox”.

Cod:

 Sub eachadd () Dim total ca întreg Dim Dimage1 As Range Set Range1 = Range ("A1: A10") Pentru fiecare add1 În Range1 total = total + add1.Value Next add1 MsgBox "Sumation final:" & Total End Sub 

Pasul 8: Rulați codul apăsând butonul F5 sau Run și vedeți ieșirea.

Lucruri de amintit

  • Cuvântul cheie „Fiecare” este folosit de cele mai multe ori doar în cazul utilizării VBA Pentru funcția Loop. În rest, are o utilizare limitată în VBA excel.
  • Avantajul pentru cuvântul cheie „Fiecare” este doar faptul că nu avem pași declarați de la 1 la x în instrucțiunea „For”.

Articole recomandate

Acesta este un ghid pentru VBA pentru fiecare buclă. Aici vom discuta despre modul de utilizare pentru fiecare buclă în Excel, folosind codul VBA, împreună cu exemple practice și șablon Excel descărcabil. Mai jos sunt câteva articole utile utile legate de VBA -

  1. VBA Faceți în buclă
  2. Comutarea coloanelor în Excel
  3. VBA Break pentru Loop
  4. Numele numerelor în Excel
  5. Cum se execută codul VBA?

Categorie: