VBA pre ďalšie Sprievodca používaním programu Excel VBA pre ďalší výpis

Excel VBA pre ďalšiu slučku

Smyčka VBA For Next je slučka, ktorá sa používa medzi všetkými programovacími jazykmi. V tejto slučke je za príkazom for kritérium, pre ktoré sa kód v slučke opakuje, kým sa nedosiahnu kritériá a po dosiahnutí kritérií nasmeruje nasledujúci príkaz. postup k ďalšiemu kroku kódu.

Smyčka „For Next“ je jednou z tých slučiek, ktorá sa v kódovaní VBA používa veľmi často ako iné slučky. Smyčky nám pomôžu opakovať rovnaký druh úlohy pre určené bunky, kým nebude podmienka PRAVDA.

FOR LOOP sa prehýba v rozsahu buniek a vykonáva konkrétnu úlohu, kým nie je podmienka PRAVDA. Napríklad, ak chcete prechádzať cez prvých 10 buniek a vkladať sériové čísla zvýšené o 1, môžete použiť slučku FOR NEXT.

Táto slučka potrebuje na spustenie slučky premennú. Pomocou tejto premennej môžeme dynamicky odkazovať na bunky.

Zahŕňa tri parametre.

For Statement = Počiatočný bod až konečný bod (Vykonať určitú úlohu) Ďalší výpis

Od počiatočného bodu začne slučka a vykoná určitú úlohu, po dokončení úlohy sa presunie do ďalšej slučky a znova vykoná rovnakú úlohu v inej bunke. Takto, kým nedosiahne koncový bod, neustále vykonáva zadanú úlohu.

Ako používať VBA pre ďalšiu slučku?

Predpokladajme, že chcete vložiť sériové čísla od 1 do 10 do buniek A1 až A10. Samozrejme, môžeme vložiť ako zápis desať riadkov kódu.

Kód:

Sub For_Next_Loop_Example1 () Rozsah ("A1"). Hodnota = 1 Rozsah ("A2"). Hodnota = 2 Rozsah ("A3"). Hodnota = 3 Rozsah ("A4"). Hodnota = 4 Rozsah ("A5") .Hodnota = 5 Rozsah ("A6"). Hodnota = 6 Rozsah ("A7"). Hodnota = 7 Rozsah ("A8"). Hodnota = 8 Rozsah ("A9"). Hodnota = 9 Rozsah ("A10") .Value = 10 End Sub

Ale čo keď chcem vložiť 100 sériových čísel? Samozrejme nemôžem napísať 100 riadkov kódu len na vloženie sériových čísel. To je miesto, kde prichádza na scénu krása slučky „FOR NEXT“ . Podľa pokynov uvedených nižšie kód minimalizujte.

Krok 1: Najprv musíme definovať premennú. Názov premennej s názvom „Serial_Number“ som deklaroval ako celočíselný údajový typ.

Kód:

Sub For_Next_Loop_Example2 () Dim Serial_Number ako celé číslo End Sub

Krok 2: Teraz si objednám použiť slučku FOR NEXT, naším cieľom je vložiť sériové čísla od 1 do 10, čo znamená, že naša slučka musí bežať desaťkrát. Takže vyhlásenie FOR LOOP by malo byť také.

Pre sériové číslo = 1 až 10

Ďalej Serial_Number

Kód:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer For Serial_Number = 1 až 10 Next Serial_Number End Sub

Krok 3: Aplikovali sme slučku. Teraz, keď sa slučka použije, musíme určiť, čo musíme urobiť vo vnútri slučky. Naším cieľom je vložiť sériové čísla od 1 do 10. Takže kód napíšte ako Bunky (Serial_Number, 1). Hodnota = Serial_Number.

Kód:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer Dim Serial_Number = 1 až 10 buniek (Serial_Number, 1). Hodnota = Serial_Number Dim Serial_Number End Sub

Krok 4: Dôvod, prečo sme do vlastnosti CELLS dali Serial_Number, pretože tu nemôžeme určiť tvrdé číslo pre odkaz na riadok. Zakaždým, keď beží slučka, chcem vložiť nové sériové číslo do novej bunky, nie do tej istej bunky.

Krok 5: Spustite kód po riadku stlačením klávesu F8.

Krok 6: Umiestnite kurzor na premennú Serial_Number; zobrazuje aktuálnu hodnotu Serial_Number.

V tomto okamihu je hodnota Serial_Number nula.

Krok 7: Stlačte ešte raz kláves F8, žltá farba sa presunie na ďalší riadok kódu vo VBA. Teraz umiestnite kurzor na Serial_Number.

Teraz je hodnota Serial_Number rovná jednej, pretože teraz je spustená slučka a naša slučka začína od 1, takže premenná Serial_Number hodnota je rovná jednej.

Jedna zaujímavá vec je tu, kdekoľvek sa nachádza premenná Serial_Number, ktorá sa tiež rovná 1.

Takže vo vlastnosti bunky sme spomenuli kód ako:

Bunky (Serial_Number, 1). Value = Serial_Number

To znamená bunky (1, 1). Hodnota = 1. (bunky (1,1) znamenajú riadok1 a stĺpec1.

Takže v riadku číslo 1 a stĺpci číslo 1 by hodnota mala byť 1.

Krok 8: Teraz stlačte kláves F8 ešte raz a uvidíte, čo sa stane v riadkoch 1 a stĺpcoch 1, tj. V bunke A1.

Takže sme dostali 1 ako hodnotu, tj. Hodnotu Serial_Number.

Step 9: Now press the F8 key one more time. Typically next code should be run i.e., the end of the substatement. But here, it will go back to the “above line.”

Step 10: Remember the loop already completed the first run. Now it returns for the second time. Now place a cursor on the variable Serial_Number and see what the value is.

Now variable Serial_Number is equal to 2 because the loop already returned for the second time.

Now, wherever Serial_Number is, there is equal to the value of 2. So the line code:

Cells(Serial_Number, 1).Value = Serial_Number is equal to:

Cells(2, 1).Value = 2. (Cells (2,1) means Row2 & Column1 i.e. A2 cell).

Step 11: Run this code and see the value in the A2 cell.

So, we got the second serial number value.

Krok 12: Teraz stlačte kláves F8. Opäť sa vráti na vyššie uvedený riadok, aby sa kód zopakoval. Hodnota Serial_Number bude tentokrát 3.

Krok 13: Takže kdekoľvek je Serial_Number, rovná sa 3.

Takže kód riadku: Cells (Serial_Number, 1). Hodnota = Serial_Number sa rovná:

Bunky (3, 1). Hodnota = 3. (Bunky (3,1) znamená riadok 3 a stĺpec 1, tj bunka A3).

Krok 14: Stlačením klávesu F8 vykonajte zvýraznený riadok a pozrite si hodnotu v bunke A3.

Krok 15: Teraz stále stlačte kláves F8. Stále bude vkladať sériové čísla. Momentová hodnota premennej Serial_Number je 10, zastaví slučku a ukončí ju.

Zaujímavé články...