Järgmise silmuse jaoks Excelis VBA - algajate juhend koos näidetega

Lang L: none (table-of-contents)

VBA -s kasutatakse tsüklit, kui peate sama ülesannet täitma mitu korda, kuni tingimus on täidetud (või kuni tingimus on tõene).

Selles õpetuses saate teada, kuidas Exceli VBA -s kasutada järgmist tsüklit.

Kui olete huvitatud VBA lihtsast õppimisest, vaadake minu lehte Online VBA koolitus Excelis.

FOR NEXT Loop kasutamine Excel VBA -s

Silm „Järgmine” töötab, käivitades silmuse määratud arv kordi.

Näiteks kui ma palun teil täisarvud 1 kuni 10 käsitsi lisada, lisate kaks esimest numbrit, seejärel lisate tulemusele kolmanda numbri ja lisate tulemusele neljanda numbri.

Kas pole?

Sama loogikat kasutatakse VBA silmuses Järgmine.

Te määrate, mitu korda soovite tsüklit käitada, ja määrate ka, mida soovite, et kood teeks iga kord, kui tsükkel käivitatakse.

Siin on järgmise silmuse vorming, mida peate VBA -s kasutama esimese 10 täisarvu lisamiseks.

Kui i = 1 kuni 10 [lisage tulemusele i -nda positiivne täisarv] Järgmine i

Nüüd vaatame mõningaid näiteid silmuse For Next kasutamiseks.

Näide 1: esimese 10 positiivse täisarvu lisamine

Allpool on kood, mis lisab esimesed 10 positiivset täisarvu, kasutades tsüklit Järgmine. Seejärel kuvatakse sõnumikast, mis näitab nende numbrite summat.

Alam Lisanumbrid () Dim Kokku täisarvuna Dim Loendus täisarvuna Kokku = 0 Loendamiseks = 1 kuni 10 Kokku = Kokku + loendamine Järgmine loend MsgBox Kokku Lõpp Alam

Selles koodis on väärtuse Kokku väärtuseks 0 enne, kui sisenete järgmisesse ahelasse.

Kui see on silmusesse jõudnud, hoiab see pärast iga tsüklit koguväärtust. Nii et pärast esimest tsüklit, kui loendur on 1, muutub väärtus „kokku” 1 ja pärast teist tsüklit 3 (1+2) jne.

Ja lõpuks, kui tsükkel lõpeb ja kui Totalil on esimese 10 positiivse täisarvu summa, kuvab MsgBox tulemuse lihtsalt sõnumikastis.

Näidisfaili allalaadimiseks klõpsake siin

Näide 2: esimese viie paarisarvulise täisarvu lisamine

Esimese viie paarisarvulise täisarvu (st 2,4,6,8 ja 10) summeerimiseks vajate sarnast koodi tingimusega, et arvestada ainult paarisarvudega ja ignoreerida paarituid numbreid.

Siin on kood, mis seda teeb:

Alam AddEvenNumbers () Dim Kokku täisarvuna Dim Loendus täisarvuna Kokku = 0 Loendamiseks = 2 kuni 10 2. samm Kokku = Kokku + loendamine Järgmine loend MsgBox Kokku Lõpp Alam

Pange tähele, et alustasime loendusväärtust 2 -st ja kasutasime süntaksi jaoks ka sammu 2.

2. etapp käsib koodil suurendada arvu „Count” 2 võrra iga kord, kui tsükkel käivitatakse. Nii et loendusväärtus algab 2 -st ja seejärel muutub silmuse tekkimisel 4, 6, 8 ja 10.

MÄRKUS. Teine võimalus seda teha võib olla tsükli käivitamine vahemikus 1 kuni 10 ja silmuse sees kontrollida, kas arv on paaris või paaritu. Kuid sel juhul on Step kasutamine tõhusam viis, kuna see ei nõua, et tsükkel töötaks 10 korda, vaid ainult 5 korda.

Näidisfaili allalaadimiseks klõpsake siin.

Näide 3: Hankige numbriline osa tähtnumbrilisest stringist

Silma „Järgmiseks” saab kasutada ka stringi iga märgi läbimiseks.

Näiteks kui teil on tähtnumbriliste stringide loend, saate numbrite väljavõtmiseks kasutada tsüklit Järgmine (nagu allpool näidatud):

Siin on kood, mis loob VBA -s kohandatud funktsiooni, mida saab kasutada nagu mis tahes muud töölehe funktsiooni.

See ekstraheerib numbrilise osa tähtnumbrilisest stringist.

Funktsioon GETNUMERIC (Cl As Range) Dim i nagu täisarv Dim Tulemus nii pikk kui i = 1 kuni Len (Cl) Kui IsNumeric (Mid (Cl, i, 1)) Siis Result = Result & Mid (Cl, i, 1) End If Next i GetNumeric = Tulemuse lõppfunktsioon

Selles koodis sõltub silmuse käitamise kordade arv tähtnumbrilise stringi pikkusest (see kasutab stringi pikkuse leidmiseks funktsiooni LEN).

Peate selle funktsiooni panema mooduli koodi aknasse ja seejärel saate seda kasutada nagu mis tahes muud töölehe funktsiooni.

Näidisfaili allalaadimiseks klõpsake siin.

Näide 4: juhuslike numbrite hankimine valitud vahemikku

Oletame, et soovite valitud lahtritesse kiiresti sisestada juhuslikud numbrid, siin on kood, mis seda teeb.

Alamjuhuslikud numbrid () Dim MyRange kui vahemik Dim i nagu täisarv, j kui täisarv Määra MyRange = Valik i = 1 kuni MyRange.Columns.Count For j = 1 kuni MyRange.Rows.Count MyRange.Cells (j, i) = Rnd Järgmine j Järgmine i Lõpp Alam

See on näide pesastatud järgmiseks silmusest, kus tsüklit For kasutatakse silmuse For jaoks.

Oletame, et valite 10 rida ja 4 veergu, i väärtus varieerub 1 kuni 4 ja j väärtus 1 kuni 10.

Kui käivitatakse esimene For -tsükkel, on i väärtus 1. Seejärel liigub see teise For -ahela juurde, mis töötab 10 korda (iga rea ​​kohta).

Kui teist For -tsüklit on 10 korda täidetud, naaseb see tagasi esimese For -tsükli juurde, kus nüüd saab i väärtuseks 2. Jällegi jookseb järgmine For -tsükkel 10 korda.

Pesastatud järgmiseks silmus töötab nii.

Näidisfaili allalaadimiseks klõpsake siin.

Samuti võivad teile meeldida järgmised Exceli VBA õpetused:

  • Lahtrite ja vahemikega töötamine Excel VBA -s.
  • Töölehtedega töötamine Excel VBA -s.
  • Töövihikutega töötamine VBA abil.
  • IF ja muude avalduste kasutamine VBA -s.
  • Exceli VBA valiku juhtum.
  • Kasutaja määratud funktsiooni loomine Excelis.
  • Exceli VBA sündmused - lihtne (ja täielik) juhend
  • Kuidas Excelis makro salvestada.
  • Kuidas Excelis makro käivitada.
  • Kuidas Excelis lisandmoodulit luua.
  • Makro salvestamine ja taaskasutamine Exceli isikliku makro töövihiku abil.
  • Kasulikud Exceli makro näited algajatele.
  • Funktsiooni InStr kasutamine VBA -s.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave