V VBA se zankanje uporablja, ko morate isto nalogo opraviti večkrat, dokler pogoj ni izpolnjen (ali dokler pogoj ni resničen).
V tej vadnici se boste naučili uporabljati For For Loop v Excelu VBA.
Če vas zanima učenje VBA na enostaven način, si oglejte moj Spletno usposabljanje Excel VBA.
Uporaba FOR NEXT Loop v Excelu VBA
Zanka 'For Next' deluje tako, da zanko izvede določeno število krat.
Na primer, če vas prosim, da ročno dodate cela števila od 1 do 10, bi dodali prvi dve številki, nato k rezultatu dodali še tretjo številko, nato pa k rezultatu dodali četrto številko, itd.
Kajne?
Ista logika se uporablja v zanki For Next v VBA.
Določite, kolikokrat želite, da se zanka izvaja, in tudi, kaj želite, da koda izvede ob vsakem zagonu zanke.
Tukaj je oblika zanke For Next, ki jo morate uporabiti v VBA, da dodate prvih 10 celih števil.
Za i = 1 do 10 [k rezultatu dodajte i -to pozitivno število] Naprej i
Zdaj pa poglejmo nekaj primerov uporabe zanke For Next.
Primer 1: Dodajanje prvih 10 pozitivnih celih števil
Spodaj je koda, ki bo dodala prvih 10 pozitivnih celih števil z zanko For Next. Nato se prikaže okno s sporočilom, ki prikazuje vsoto teh številk.
Podštevilke podštevilk () Skupaj zatemni kot celo število Zatemni štetje kot celo število = 0 Za štetje = 1 do 10 Skupaj = Skupaj + Število Naslednje število MsgBox Skupaj konec pod
V tej kodi je vrednost Total nastavljena na 0, preden vstopi v zanko For Next.
Ko pride v zanko, zadrži skupno vrednost po vsaki zanki. Torej po prvi zanki, ko je števec 1, vrednost 'Skupaj' postane 1, po drugi zanki pa 3 (1+2) itd.
In končno, ko se zanka konča in ko ima Total vsoto prvih 10 pozitivnih celih števil, MsgBox preprosto prikaže rezultat v polju za sporočila.
Kliknite tukaj, če želite prenesti primer datoteke
Primer 2: Dodajanje prvih 5 celo pozitivnih celih števil
Če seštejete prvih pet parnih celih števil (tj. 2,4,6,8 in 10), potrebujete podobno kodo s pogojem, da upoštevate le parna števila in prezrete liha števila.
Tukaj je koda, ki bo to naredila:
Sub AddEvenNumbers () Dim Total As Integer Dim Count As Integer Total = 0 For Count = 2 to 10 Step 2 Total = Total + Count Next Count MsgBox Total End Sub
Upoštevajte, da smo vrednost Count začeli z 2 in uporabili tudi 2. korak v sintaksi For.
Korak 2 bi kodi povedal, naj poveča vrednost "Count" za 2 vsakič, ko se zanka zažene. Tako se vrednost Count začne od 2 in nato postane 4, 6, 8 in 10, ko pride do zanke.
OPOMBA: Drug način za to je lahko zagon zanke od 1 do 10 in znotraj zanke preverite, ali je število sodo ali liho. Vendar je uporaba Step v tem primeru učinkovitejši način, saj zanka ne zahteva, da se zanka izvaja 10 -krat, ampak le 5 -krat.
Kliknite tukaj, če želite prenesti primer datoteke.
Primer 3: Pridobite številski del iz alfanumeričnega niza
Zanko 'Za naprej' lahko uporabite tudi za prelistavanje vsakega znaka v nizu.
Na primer, če imate seznam alfanumeričnih nizov, lahko z zanko For Next izvlečete številke iz nje (kot je prikazano spodaj):
Tukaj je koda, ki ustvari funkcijo po meri v VBA, ki jo je mogoče uporabiti kot katero koli drugo funkcijo delovnega lista.
Izvleče številski del iz alfanumeričnega niza.
Funkcija GETNUMERIC (Cl As Range) Dim i As Integer Dim Result as Long For i = 1 To Len (Cl) If IsNumeric (Mid (Cl, i, 1)) then Result = Result & Mid (Cl, i, 1) End Če je naslednji i GetNumeric = Končna funkcija rezultata
V tej kodi je število zagonov zanke odvisno od dolžine alfanumeričnega niza (za iskanje dolžine niza uporablja funkcijo LEN).
To funkcijo morate postaviti v okno kode modula, nato pa jo lahko uporabite kot katero koli drugo funkcijo delovnega lista.
Kliknite tukaj, če želite prenesti primer datoteke.
Primer 4: Pridobivanje naključnih števil v izbranem območju
Recimo, da želite hitro vnesti naključne številke v izbrane celice, tukaj je koda, ki bo to storila.
Sub RandomNumbers () Dim MyRange As Range Dim i As Integer, j As Integer Set MyRange = Izbor Za i = 1 V MyRange.Columns.Count For j = 1 V MyRange.Rows.Count MyRange.Cells (j, i) = Rnd Naprej j Naprej i Konec podv
To je primer ugnezdene zanke For Next, kjer se zanka For uporablja znotraj zanke For.
Recimo, da izberete 10 vrstic in 4 stolpce, vrednost i se spreminja od 1 do 4, vrednost j pa od 1 do 10.
Ko se zažene prva zanka For, je vrednost i 1. Nato se premakne v drugo zanko For, ki teče 10 -krat (za vsako vrstico).
Ko je druga zanka For izvedena 10 -krat, se vrne v prvo zanko For, kjer zdaj vrednost i postane 2. Spet naslednja zanka For teče 10 -krat.
Tako deluje ugnezdena zanka For Next.
Kliknite tukaj, če želite prenesti primer datoteke.
Morda vam bodo všeč tudi naslednji vadnici Excel VBA:
- Delo s celicami in obsegi v Excelu VBA.
- Delo z delovnimi listi v Excelu VBA.
- Delo z delovnimi zvezki z uporabo VBA.
- Uporaba IF Nato drugih stavkov v VBA.
- Excel VBA Select Case.
- Ustvarjanje uporabniško določene funkcije v Excelu.
- Dogodki Excel VBA - enostaven (in popoln) vodnik
- Kako posneti makro v Excelu.
- Kako zagnati makro v Excelu.
- Kako ustvariti dodatek v Excelu.
- Kako shraniti in znova uporabiti makro z Excelovim osebnim delovnim zvezkom za makre.
- Uporabni primeri makrov Excel za začetnike.
- Uporaba funkcije InStr v VBA.