Za naslednjo zanko v Excelu VBA - Vodnik za začetnike s primeri

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.
wave wave wave wave wave