Pre ďalšiu slučku v programe Excel VBA - Príručka pre začiatočníkov s príkladmi

Vo VBA sa slučka používa, keď potrebujete vykonať rovnakú úlohu viackrát, kým nie je splnená podmienka (alebo kým nie je podmienka pravdivá).

V tomto tutoriále sa naučíte, ako používať slučku For Next v programe Excel VBA.

Ak máte záujem naučiť sa VBA jednoduchým spôsobom, pozrite sa na moje Online školenie Excel VBA.

Použitie FOR NEXT Loop v programe Excel VBA

Slučka „Ďalej“ funguje tak, že slučku spustíte zadaný počet krát.

Ak vás napríklad požiadam o manuálne sčítanie celých čísel od 1 do 10, pridali by ste prvé dve čísla, potom k výsledku pripočítali tretie číslo, potom k výsledku pripočítali štvrté číslo a podobne …

Nie?

Rovnaká logika sa používa aj v slučke For Next vo VBA.

Môžete zadať, koľkokrát chcete, aby sa slučka spustila, a tiež určiť, čo má kód robiť pri každom spustení slučky.

Tu je formát slučky For Next, ktorý musíte vo VBA použiť na pridanie prvých 10 celých čísel.

Pre i = 1 až 10 [k výsledku pripočítajte i -té kladné celé číslo] Ďalej i

Teraz sa pozrime na niekoľko príkladov, ako používať slučku For Next.

Príklad 1: Pridanie prvých 10 pozitívnych čísel

Nasleduje kód, ktorý pridá prvých 10 kladných celých čísel pomocou slučky For Next. Potom sa zobrazí okno so správou zobrazujúce súčet týchto čísel.

Podčísla pridaných čísel () Dim Celkom ako celé číslo Dim Počítať ako celé číslo Celkom = 0 pre počet = 1 až 10 celkom = celkom + počet Ďalší počet MsgBox Celkový koniec Sub

V tomto kóde je hodnota Total nastavená na 0, než sa dostanete do slučky For Next.

Akonáhle sa dostane do slučky, uchováva celkovú hodnotu za každou slučkou. Takže po prvej slučke, keď je počítadlo 1, hodnota „Celková“ sa stane 1 a po druhej slučke sa stane 3 (1+2) atď.

A nakoniec, keď sa slučka skončí a keď má súčet súčet prvých 10 kladných celých čísel, MsgBox jednoducho zobrazí výsledok v okne správy.

Kliknutím sem stiahnete ukážkový súbor

Príklad 2: Pridanie prvých 5 párnych pozitívnych čísel

Ak chcete zhrnúť prvých päť párnych kladných celých čísel (tj. 2,4,6,8 a 10), potrebujete podobný kód s podmienkou, aby ste brali do úvahy iba párne čísla a nepárne čísla ignorovali.

Tu je kód, ktorý to urobí:

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

Všimnite si toho, že hodnotu Count sme spustili od 2 a tiež sme použili krok 2 v syntaxi For.

Krok 2 by povedal kódu, aby zvýšil hodnotu „Počet“ o 2 pri každom spustení slučky. Hodnota Count teda začína od 2 a potom sa stáva 4, 6, 8 a 10, keď dochádza k opakovaniu.

POZNÁMKA: Ďalším spôsobom, ako to urobiť, je spustiť cyklus od 1 do 10 a v rámci cyklu skontrolovať, či je číslo párne alebo nepárne. Použitie Stepu je v tomto prípade však efektívnejším spôsobom, pretože nevyžaduje, aby sa slučka spustila 10 -krát, ale iba 5 -krát.

Kliknutím sem stiahnete ukážkový súbor.

Príklad 3: Získajte numerickú časť z alfanumerického reťazca

Cyklus „Ďalej“ je možné použiť aj na opakovanie každého znaku v reťazci.

Ak napríklad máte zoznam alfanumerických reťazcov, môžete z neho extrahovať čísla pomocou slučky For Next (ako je uvedené nižšie):

Tu je kód, ktorý vytvára vlastnú funkciu vo VBA a ktorú je možné použiť ako akúkoľvek inú funkciu pracovného hárka.

Extrahuje numerickú časť z alfanumerického reťazca.

Funkcia GETNUMERIC (rozsah ako Cl) Dim i ako celé číslo Dim Výsledok ako dlhý pre i = 1 až Len (Cl) Ak je číselný (stred (Cl, i, 1)) Potom výsledok = výsledok a stred (Cl, i, 1) Koniec Ak Ďalej i GetNumeric = Funkcia ukončenia výsledku

V tomto kóde je počet spustení slučky závislý od dĺžky alfanumerického reťazca (na nájdenie dĺžky reťazca používa funkciu LEN).

Túto funkciu musíte vložiť do okna kódu modulu a potom ju môžete použiť ako akúkoľvek inú funkciu pracovného hárka.

Kliknutím sem stiahnete ukážkový súbor.

Príklad 4: Získanie náhodných čísel vo vybranom rozsahu

Predpokladajme, že chcete rýchlo zadať náhodné čísla do vybraných buniek, tu je kód, ktorý to urobí.

Sub RandomNumbers () Dim MyRange As Range Dim i As Integer, j As Integer Set MyRange = Selection For i = 1 To MyRange.Columns.Count For j = 1 To MyRange.Rows.Count MyRange.Cells (j, i) = Rnd Ďalej j Ďalej i Ukončiť pod

Toto je príklad vnorenej slučky For Next, kde sa slučka For používa v rámci slučky For Loop.

Predpokladajme, že vyberiete 10 riadkov a 4 stĺpce, hodnota i sa pohybuje od 1 do 4 a hodnota j sa pohybuje od 1 do 10.

Keď je spustená prvá slučka For, hodnota i je 1. Potom sa presunie do druhej slučky For, ktorá beží 10 -krát (pre každý riadok).

Akonáhle bola druhá slučka For vykonaná 10 -krát, prejde späť na prvú slučku For, kde teraz hodnota i nadobúda hodnotu 2. Opäť ďalšia slučka For beží 10 -krát.

Takto funguje vnorená slučka For Next.

Kliknutím sem stiahnete ukážkový súbor.

Tiež by sa vám mohli páčiť nasledujúce návody na Excel VBA:

  • Práca s bunkami a rozsahmi v programe Excel VBA.
  • Práca s pracovnými listami v programe Excel VBA.
  • Práca so zošitmi pomocou VBA.
  • Použitie príkazov IF Then Else vo VBA.
  • Excel VBA Select Case.
  • Vytvorenie funkcie definovanej používateľom v programe Excel.
  • Udalosti programu Excel VBA - ľahký (a kompletný) sprievodca
  • Ako zaznamenať makro v programe Excel.
  • Ako spustiť makro v programe Excel.
  • Ako vytvoriť doplnok v programe Excel.
  • Ako uložiť a znova použiť makro pomocou osobného zošita makier programu Excel.
  • Užitočné príklady makier Excelu pre začiatočníkov.
  • Použitie funkcie InStr vo VBA.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave