Seuraava kierros Excel VBA: ssa - aloittelijan opas esimerkeillä

VBA: ssa silmukointia käytetään, kun sama tehtävä on suoritettava useita kertoja, kunnes ehto täyttyy (tai kunnes ehto täyttyy).

Tässä opetusohjelmassa opit käyttämään For Next Loop -ohjelmaa Excel VBA: ssa.

Jos olet kiinnostunut VBA: n oppimisesta helpolla tavalla, tutustu minun Online Excel VBA -koulutus.

FOR NEXT Loopin käyttäminen Excel VBA: ssa

"For Next" -silmukka toimii suorittamalla silmukka määrätyn määrän kertoja.

Jos esimerkiksi pyydän sinua lisäämään kokonaisluvut 1 - 10 manuaalisesti, lisäät kaksi ensimmäistä numeroa, lisäät sitten kolmannen numeron tulokseen ja lisäät sitten neljännen numeron tulokseen jne.

Eikö olekin?

Samaa logiikkaa käytetään VBA: n For Next -silmukassa.

Määrität, kuinka monta kertaa haluat silmukan suoritettavan, ja määrität myös, mitä haluat koodin tekevän joka kerta, kun silmukka suoritetaan.

Tässä on For Next loop -muoto, jota sinun on käytettävä VBA: ssa 10 ensimmäisen kokonaisluvun lisäämiseksi.

Jos i = 1-10 [lisää tulokseen i: nnen positiivinen kokonaisluku] Seuraava i

Katsotaanpa nyt muutamia esimerkkejä For Next -silmukan käyttämisestä.

Esimerkki 1: Ensimmäisten 10 positiivisen kokonaisluvun lisääminen

Alla on koodi, joka lisää 10 ensimmäistä positiivista kokonaislukua For For Next -silmukan avulla. Sitten se näyttää viestiruudun, jossa näkyy näiden numeroiden summa.

Sub AddNumbers () Dim Yhteensä kokonaislukuna Dim Count kokonaislukuna Yhteensä = 0 Laskenta = 1-10 Yhteensä = Yhteensä + Laske seuraava lasku MsgBox Yhteensä End Sub

Tässä koodissa Total -arvoksi on asetettu 0 ennen kuin siirrytään seuraavaan silmukkaan.

Kun se pääsee silmukkaan, se pitää kokonaisarvon jokaisen silmukan jälkeen. Joten ensimmäisen silmukan jälkeen, kun laskuri on 1, kokonaisarvosta tulee 1 ja toisen silmukan jälkeen 3 (1+2) jne.

Ja lopuksi, kun silmukka päättyy ja kun Totalilla on kymmenen ensimmäisen positiivisen kokonaisluvun summa, MsgBox näyttää tuloksen vain viestiruudussa.

Lataa esimerkkitiedosto napsauttamalla tätä

Esimerkki 2: Ensimmäisten 5 parillisen positiivisen kokonaisluvun lisääminen

Jos haluat laskea yhteen viisi ensimmäistä parillista kokonaislukua (eli 2,4,6,8 ja 10), tarvitset samanlaisen koodin, jolla on ehto ottaa huomioon vain parilliset luvut ja jättää huomiotta parittomat luvut.

Tässä on koodi, joka tekee sen:

Sub AddEvenNumbers () Dim Yhteensä kokonaislukuna Dim Count kokonaislukuna Yhteensä = 0 Laskenta = 2-10 Vaihe 2 Yhteensä = Yhteensä + Laske seuraava lasku MsgBox Yhteensä End Sub

Huomaa, että aloitimme Count -arvon arvosta 2 ja käytimme myös For syntaksin vaihetta 2.

Vaihe 2 käskee koodia lisäämään "Count" -arvoa 2: lla joka kerta, kun silmukka suoritetaan. Joten Count -arvo alkaa 2: sta ja muuttuu sitten 4, 6, 8 ja 10 silmukan tapahtuessa.

HUOMAUTUS: Toinen tapa tehdä tämä voisi olla ajaa silmukka 1: stä 10: een ja tarkistaa silmukan sisällä, onko numero parillinen vai pariton. Vaiheen käyttäminen tässä tapauksessa on kuitenkin tehokkaampi tapa, koska se ei edellytä silmukan suorittamista 10 kertaa, vaan vain 5 kertaa.

Lataa esimerkkitiedosto napsauttamalla tätä.

Esimerkki 3: Hanki numeerinen osa aakkosnumeerisesta merkkijonosta

"For Next" -silmukkaa voidaan käyttää myös silmukan kiertämiseen merkkijonon jokaisen merkin läpi.

Jos sinulla on esimerkiksi aakkosnumeeristen merkkijonojen luettelo, voit poimia numerot siitä Seuraava -silmukalla (kuten alla):

Tässä on koodi, joka luo mukautetun funktion VBA: han, jota voidaan käyttää kuten mitä tahansa muuta laskentataulukkotoimintoa.

Se poimii numeerisen osan aakkosnumeerisesta merkkijonosta.

Toiminto GETNUMERIC (Cl As Range) Dim i kokonaislukuna Dim Tulos yhtä pitkä i = 1 Len (Cl) Jos IsNumeric (Mid (Cl, i, 1)) Sitten Result = Result & Mid (Cl, i, 1) End Jos seuraava i GetNumeric = Tuloksen lopetusfunktio

Tässä koodissa silmukan suorituskertojen lukumäärä riippuu aakkosnumeerisen merkkijonon pituudesta (se käyttää LEN -funktiota merkkijonon pituuden löytämiseen).

Sinun on lisättävä tämä toiminto moduulikoodiin ja voit käyttää sitä kuten mitä tahansa muuta laskentataulukkotoimintoa.

Lataa esimerkkitiedosto napsauttamalla tätä.

Esimerkki 4: Satunnaislukujen saaminen valitulle alueelle

Oletetaan, että haluat kirjoittaa satunnaislukuja nopeasti valittuihin soluihin, tässä koodi, joka tekee sen.

Alit RandomNumbers () Dim MyRange Asteikko Dim i kokonaislukuna, j kokonaislukuna Aseta MyRange = Valinta i = 1 MyRange.Columns.Count For j = 1 To MyRange.Rows. Count MyRange.Cells (j, i) = Rnd Seuraava j Seuraava i Loppu Al

Tämä on esimerkki sisäkkäisestä Seuraava -silmukasta, jossa For -silmukkaa käytetään For -silmukassa.

Jos valitset 10 riviä ja 4 saraketta, i: n arvo vaihtelee 1: stä 4: ään ja j: n arvo 1: stä 10: een.

Kun ensimmäinen For -silmukka suoritetaan, i: n arvo on 1. Se siirtyy sitten toiseen For -silmukkaan, joka suoritetaan 10 kertaa (kullekin riville).

Kun toinen For -silmukka on suoritettu 10 kertaa, se palaa ensimmäiseen For -silmukkaan, jossa nyt i: n arvoksi tulee 2. Jälleen seuraava For -silmukka suoritetaan 10 kertaa.

Näin sisäkkäiset For Next -silmukat toimivat.

Lataa esimerkkitiedosto napsauttamalla tätä.

Saatat pitää myös seuraavista Excel VBA -opetusohjelmista:

  • Solujen ja alueiden käyttö Excel VBA: ssa.
  • Työskentely laskentataulukoiden kanssa Excel VBA: ssa.
  • Työkirjojen käyttäminen VBA: n avulla.
  • IF IF: n muiden lausuntojen käyttäminen VBA: ssa.
  • Excel VBA Valitse tapaus.
  • Käyttäjän määrittämän toiminnon luominen Excelissä.
  • Excel VBA -tapahtumat - helppo (ja täydellinen) opas
  • Makron tallentaminen Exceliin.
  • Makron suorittaminen Excelissä.
  • Kuinka luoda apuohjelma Excelissä.
  • Makron tallentaminen ja uudelleenkäyttö Excelin henkilökohtaisen makron työkirjan avulla.
  • Hyödyllisiä Excel -makroesimerkkejä aloittelijoille.
  • InStr -toiminnon käyttäminen VBA: ssa.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave