7 primjera For Loops u Microsoft Excel VBA

Anonim

Ako pišete VBA program i želite izvršiti isti zadatak više puta, to možete učiniti pomoću VBA za petlje. VBA je sekvencijalni programski jezik. Svaki redak koda izvršava se odozgo prema dolje sve dok nema više redaka koda za čitanje. Ako se želite vratiti i izvršiti zadatak, morate forsirati pomoću makro koda. Dobivate rezultate pomoću petlje.

For Loop u VBA jedna je od najčešćih vrsta petlji. Petlja For ima dva oblika: Za sljedeću i Za svaku u sljedećoj. For petlja se obično koristi za sekvencijalno kretanje kroz popis stavki ili brojeva. Za prekid For petlje u bilo kojoj zadanoj točki možemo upotrijebiti exit naredbu. Jer petlja će se vrtjeti sve dok ne ispuni krajnji uvjet. Nakon što je ispunjen krajnji uvjet, tok programiranja nastavit će se prema dolje, u svom prirodnom smjeru.

Petlja For… Next ima sljedeću sintaksu: For counter = start_counter To end_counter 'Učinite nešto ovdje (vaš kôd) Sljedeći brojač 

Mi zapravo stvaramo petlju koja koristi varijablu brojač kao 'čuvar vremena' petlje. Postavili smo vrijednost jednaku start_ brojač na početku petlje, a zatim je povećavati za 1 tijekom svake petlje dok ne ispuni krajnji uvjet. Petlja će se izvršavati do vremena vrijednosti brojač postaje jednaka završni_brojač. Petlja se posljednji put izvršava kada se obje gornje vrijednosti podudaraju i tada se petlja zaustavlja.

Sve gore navedeno može zbuniti neke ljude pa se pripremimo i počnimo učiti For Loop u excelu s nekoliko primjera.

  • Izradite novu Excel knjigu, a zatim je spremite s nastavkom .xlsm
  • Da biste pokrenuli zaslon uređivača Visual Basic, upotrijebite ALT + F11
  • Umetnite novi modul
  • Kopirajte donji kod u standardni modul VB

Petlja 1 (Prikaz broja s porukom za poruke)

Pod petlja1 () Zatamni početni broj kao cijeli broj Dim završni broj kao cjelobrojni završni broj = 5 za početni broj = 1 do krajnjeg broja MsgBox početni broj & "je" & "Vaš početni broj" Sljedeći početni broj završni podbroj 

Objašnjenje koda:

  • VBA kôd mora dodijeliti vrijednost StartNumber, gdje su EndNumber varijable koje su deklarirane kao cijeli brojevi kao početna točka za vašu petlju
  • Ove vrijednosti mogu biti bilo koji broj i imamo EndNumber kao 5
  • StartNumber započinje u 1
  • Za StartNumber = 1 Za EndNumber znači da će kôd početi od 1 (StartNumber) do 5 (EndNumber)
  • MsgBox StartNumber & "is" & "Your StartNumber" prikazat će sljedeći okvir s porukom

Petlja 2 (Vrijednosti ispune)

Sub Loop2 () 'Popunjava ćelije A1: A56 vrijednostima X petljanjem' --- Komentiraj 'Povećaj vrijednost X za 1 u svakoj petlji' --- Komentiraj Dim X kao cijeli broj Za X = 1 do 56 raspona ("A "& X) .Vrijednost = X Sljedeća X Kraj podv 

Objašnjenje koda:

  • Dodijelili smo X kao cijeli broj
  • Za X = 1 do 56; ovo će početi s 1 i nastaviti do 56 sa povećanjem od 1 svaki put
  • Raspon ("A" & X). Vrijednost = X; ovaj će redak pohraniti vrijednost X i preći će u raspon A1 do A56

Petlja 3 (Ispunite ćelije pozadinskom bojom)

Sub Loop3 () 'Ispunjava ćelije B1: B56 s 56 boja pozadine' --- Komentar Dim X kao cijeli broj za raspon X = 1 do 56 ("B" & X). Odaberite s odabirom. Unutrašnjost. BojaIndeks = X. Uzorak = xlČvrsti kraj s sljedećim X završnim podm 

Objašnjenje koda:

  • Dodijelili smo X kao cijeli broj
  • Za X = 1 do 56 počet će s 1 i nastaviti do 56 s povećanjem od 1 svaki put
  • Raspon ("B" & X). Odaberite; ovaj će redak pohraniti vrijednost X i odabrati ćeliju B1 do B56
  • Sljedeća 4 retka, tj. S odabirom. Unutrašnjost će odabrati indeks boje interijera i uzeti vrijednost iz X tog indeksa boja tako da 1 pripada crnoj boji; 2 pripada bijeloj boji; 3 za crveno itd

Petlja 4 (Ispunite vrijednosti s povećanjem od 2)

Prema zadanim postavkama vrijednost Step je 1, no može se postaviti na broj veći od 1.

Sub Loop4 () 'Ispunjava svaku drugu ćeliju iz C1: C50 vrijednostima X' --- Komentar Dim X kao cijeli broj Za X = 1 do 50 Raspon 2. koraka ("C" & X). Vrijednost = X Sljedeći X Kraj Sub 

Objašnjenje koda:

  • Dodijelili smo X kao cijeli broj
  • Za X = 1 do 50 Korak 2; ovo će početi s 1 u X do 50 s povećanjem od 2 svaki put
  • Raspon ("C" & X). Vrijednost = X; ovaj će redak pohraniti vrijednost X i preći će u raspon C1 do C50

Petlja 5 (VBA za petlju obrnuto s uputama STEP)

Nije potrebno da se brojač u For petlji pomiče samo s niskih na veće vrijednosti; umjesto toga, petlja For može se pokrenuti unatrag, tj. visoke do niže vrijednosti.

Iako je vrijednost Step prema zadanim postavkama prema naprijed 1, može se postaviti na broj obrnutim redoslijedom.

Sub Loop5 () 'Puni ćelije iz D1: D50 vrijednostima X' --- Komentar 'U ovom slučaju X se smanjuje za 1' --- Komentar Dim X Kao cijeli broj, red kao cijeli broj Red = 1 Za X = 50 do 0 Korak -1 Raspon ("D" & Red) .Vrijednost = X redak = redak + 1 sljedeći X kraj pod 

Objašnjenje koda:

  • Dodijelili smo X & Row kao cijeli broj
  • Redak sadrži vrijednost 1
  • Za X = 50 do 0 Korak -1; ovo će početi od 50 sa smanjenjem za 1 u X do 0
  • Raspon ("D" & Red) .Vrijednost = X; ovaj će redak pohraniti vrijednost X i preći će u raspon D1 do D50

Petlja 6 (Ispunjava svaku drugu ćeliju u obrnutom smjeru s STEP-2)

U gornjem primjeru For petlje možemo upotrijebiti Step i order da vidimo radi li For petlja u smjeru naprijed ili natrag.

Sub Loop6 () 'Ispunjava svaku drugu ćeliju iz E1: E100 vrijednostima X' --- Komentiraj 'U ovom slučaju X se smanjuje za 2' --- Komentiraj Dim X kao cijeli broj, red kao cijeli broj redak = 1 za X = 100 Do 0 Korak -2 Raspon ("E" & Red) .Vrijednost = X red = redak + 2 slijedeća X Kraj pod 

Objašnjenje koda:

  • Dodijelili smo X & Row kao cijeli broj
  • Redak sadrži vrijednost 1
  • Za X = 100 do 0 Korak -2; ovo će početi od 100 sa smanjenjem za 2 u X do 0
  • Raspon ("E" & Red) .Vrijednost = X; ovaj će redak pohraniti vrijednost X i preći će u raspon E1 do E100

Petlja 7 (Za petlju s uvjetom IF: ispunjava ćelije počevši od određene ćelije)

To će ispuniti ćelije iz ćelije F11 s vrijednošću 11 dok X ne zadovolji uvjet IF

Sub Loop7 () 'Počinje popunjavanje ćelija F11: F100 vrijednostima X' --- Komentar 'Ovo će izaći iz petlje nakon 50' --- Komentar Dim X kao cijeli broj Za raspon X = 11 do 100 ("F" & X) .Vrijednost = X Ako je X = 50 tada MsgBox ("Bye Bye") Izlaz za kraj ako sljedeći X kraj pod 

Objašnjenje koda:

  • Dodijelili smo X kao cijeli broj
  • Za X = 11 do 100; počet će od 11 s povećanjem za 1 u X sve dok uvjet ne ispuni
  • Raspon ("F" & X). Vrijednost = X; ovaj će redak pohraniti vrijednost X i preći će u raspon F11 dok uvjet ne ispuni

  • Nakon unosa vrijednosti 50 u ćeliju F50, prikazat će se sljedeći okvir s porukom

Zaključak: S gornjih 7 primjera, možemo primijeniti For petlju u našem redovitom ili bilo kojem dijelu za automatizaciju.

Ako vam se sviđaju naši blogovi, podijelite ih sa svojim prijateljima na Facebooku. Također nas možete pratiti na Twitteru i Facebooku.
Voljeli bismo čuti vaše mišljenje, javite nam kako možemo poboljšati, nadopuniti ili inovirati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte