Za sljedeću petlju u Excelu VBA - Vodič za početnike s primjerima

U VBA -i, petlja se koristi kada trebate izvršiti isti zadatak više puta dok se ne ispuni uvjet (ili dok uvjet nije istinit).

U ovom ćete vodiču naučiti kako koristiti For Next Loop u Excelu VBA.

Ako ste zainteresirani za učenje VBA na jednostavan način, provjerite moj Mrežna Excel VBA obuka.

Korištenje FOR NEXT Loop u Excelu VBA

Petlja ‘For Next’ radi tako da petlju pokrene određeni broj puta.

Na primjer, ako vas zamolim da ručno dodate cijele brojeve od 1 do 10, dodali biste prva dva broja, zatim u rezultat dodali treći broj, zatim u rezultat dodali četvrti broj, itd.

Zar ne?

Ista se logika koristi u petlji For Next u VBA -i.

Određujete koliko puta želite da se petlja izvodi, a također i to što želite da kôd radi svaki put kada se petlja izvodi.

Ovdje je Format petlje For Next koji morate koristiti u VBA za dodavanje prvih 10 cijelih brojeva.

Za i = 1 do 10 [dodajte i -ti pozitivni cijeli broj u rezultat] Sljedeće i

Pogledajmo sada nekoliko primjera kako koristiti petlju Za sljedeće.

Primjer 1: Dodavanje prvih 10 pozitivnih cijelih brojeva

Ispod je kôd koji će dodati prvih 10 pozitivnih cijelih brojeva pomoću petlje Za sljedeće. Tada će se prikazati okvir s porukom koji prikazuje zbroj ovih brojeva.

Broj dodanih brojeva () Dim ukupno kao cijeli broj Dim broj kao cijeli broj ukupno = 0 za brojanje = 1 do 10 ukupno = ukupno + broj sljedeći broj msgBox ukupno završi pod

U ovom kodu vrijednost Total je postavljena na 0 prije ulaska u petlju Za sljedeće.

Nakon što uđe u petlju, nakon svake petlje drži ukupnu vrijednost. Dakle, nakon prve petlje, kada je brojač 1, vrijednost "Ukupno" postaje 1, a nakon druge petlje postaje 3 (1+2), i tako dalje.

I na kraju, kad petlja završi i kada Total ima zbroj prvih 10 pozitivnih cijelih brojeva, MsgBox jednostavno prikazuje rezultat u okviru s porukom.

Kliknite ovdje za preuzimanje datoteke primjera

Primjer 2: Dodavanje prvih 5 parnih pozitivnih cijelih brojeva

Da biste zbrojili prvih pet parnih pozitivnih cijelih brojeva (tj. 2,4,6,8 i 10), potreban vam je sličan kôd s uvjetom da uzmete u obzir samo parne brojeve i zanemarite neparne brojeve.

Evo koda koji će to učiniti:

Sub AddEvenNumbers () Dim Dim Total As Integer Dim Count As Integer Total = 0 For Count = 2 do 10 Step 2 Total = Total + Count Next Count MsgBox Total End Sub

Imajte na umu da smo vrijednost Count započeli od 2, a koristili smo i 2. korak u sintaksi For.

Korak 2 bi rekao kodu da poveća vrijednost 'Count' za 2 svaki put kada se petlja pokrene. Dakle, vrijednost Count počinje od 2, a zatim postaje 4, 6, 8 i 10 kako se petlja dogodi.

NAPOMENA: Drugi način za to može biti pokretanje petlje od 1 do 10 i unutar petlje provjeriti je li broj paran ili neparan. Međutim, korištenje Stepa u ovom je slučaju učinkovitiji način jer ne zahtijeva da se petlja izvodi 10 puta, već samo 5 puta.

Kliknite ovdje za preuzimanje datoteke primjera.

Primjer 3: Dobijte numerički dio iz alfanumeričkog niza

Petlja ‘Za sljedeće’ također se može koristiti za petlju kroz svaki znak u nizu.

Na primjer, ako imate popis alfanumeričkih nizova, možete upotrijebiti petlju Za sljedeće da biste iz nje izvukli brojeve (kao što je prikazano u nastavku):

Ovdje je kôd koji stvara prilagođenu funkciju u VBA -i koja se može koristiti kao i svaka druga funkcija radnog lista.

Izdvaja numerički dio iz alfanumeričkog niza.

Funkcija GETNUMERIC (Cl As Range) Dim i As Integer Dim Rezultat kao dug For i = 1 To Len (Cl) If IsNumeric (Mid (Cl, i, 1)) then Result = Result & Mid (Cl, i, 1) End If Next i GetNumeric = Krajnja funkcija rezultata

U ovom kodu broj pokretanja petlje ovisi o duljini alfanumeričkog niza (koristi funkciju LEN za pronalaženje duljine niza).

Morate staviti ovu funkciju u prozor koda modula, a zatim je možete koristiti kao i svaku drugu funkciju radnog lista.

Kliknite ovdje za preuzimanje datoteke primjera.

Primjer 4: Dobivanje slučajnih brojeva u odabranom rasponu

Pretpostavimo da želite brzo unijeti slučajne brojeve u odabrane ćelije, ovdje je kod koji će to učiniti.

Sub RandomNumbers () Dim MyRange As Range Dim i As Integer, j As Integer Set MyRange = Odabir za i = 1 Za MyRange.Columns.Count For j = 1 To MyRange.Rows.Count MyRange.Cells (j, i) = Rnd Sljedeće j Sljedeće i Kraj podv

Ovo je primjer ugniježđene petlje For Next gdje se For petlja koristi unutar For Loop -a.

Pretpostavimo da odaberete 10 redaka i 4 stupca, vrijednost i varira od 1 do 4, a vrijednost j varira od 1 do 10.

Kada se pokrene prva For petlja, vrijednost i je 1. Zatim se pomiče na drugu For petlju koja se izvodi 10 puta (za svaki redak).

Nakon što je druga For petlja izvedena 10 puta, vraća se na prvu For petlju gdje sada vrijednost i postaje 2. Ponovno sljedeća For petlja radi 10 puta.

Ovako funkcionira ugniježđena petlja For Next.

Kliknite ovdje za preuzimanje datoteke primjera.

Možda će vam se svidjeti i sljedeći Excel VBA vodiči:

  • Rad s ćelijama i rasponima u Excelu VBA.
  • Rad s radnim listovima u Excelu VBA.
  • Rad s radnim bilježnicama pomoću VBA.
  • Korištenje IF Onda drugih izjava u VBA.
  • Excel VBA Odabir slučaja.
  • Stvaranje korisnički definirane funkcije u Excelu.
  • Excel VBA događaji - jednostavan (i potpun) vodič
  • Kako snimiti makro u Excelu.
  • Kako pokrenuti makro u Excelu.
  • Kako stvoriti dodatak u Excelu.
  • Kako spremiti i ponovno upotrijebiti makro pomoću Excel osobne radne knjige za makroe.
  • Korisni primjeri makronaredbi programa Excel za početnike.
  • Korištenje funkcije InStr u VBA.
wave wave wave wave wave