VBA pro další - Průvodce používáním aplikace Excel VBA pro další příkaz

Excel VBA pro další smyčku

Smyčka VBA For Next je smyčka, která se používá mezi všemi programovacími jazyky, v této smyčce je za příkazem for kritérium, pro které se kód smyčky ve smyčce, dokud není dosaženo kritérií a po dosažení kritérií, přesměruje další příkaz postup k dalšímu kroku kódu.

Smyčka „For Next“ je jednou z těch smyček, která se v kódování VBA používá velmi často než jiné smyčky. Smyčky nám pomohou opakovat stejný druh úkolu pro určené buňky, dokud podmínka nebude PRAVDA.

FOR LOOP prochází rozsahem buněk a provádí konkrétní úkol, dokud není podmínka PRAVDA. Například pokud chcete procházet prvních 10 buněk a vložit sériová čísla zvýšená o 1, můžete použít smyčku FOR NEXT.

Tato smyčka potřebuje proměnnou ke spuštění smyčky. Pomocí této proměnné můžeme dynamicky odkazovat na buňky.

Zahrnuje tři parametry.

For Statement = Starting Point to End Point (Perform Some Task) Next Statement

Od počátečního bodu smyčka začne a provede nějaký úkol po dokončení úkolu jeho přesun do další smyčky a opět provedení stejného úkolu v jiné buňce. Takhle, dokud nedosáhne koncového bodu, stále provádí zadaný úkol.

Jak používat VBA pro další smyčku?

Předpokládejme, že chcete vložit sériová čísla od 1 do 10 do buněk A1 až A10. Samozřejmě můžeme vložit jako psaní deset řádků kódu.

Kód:

Sub For_Next_Loop_Example1 () Range ("A1"). Value = 1 Range ("A2"). Value = 2 Range ("A3"). Value = 3 Range ("A4"). Value = 4 Range ("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 co když chci vložit 100 sériových čísel? Samozřejmě nemohu napsat 100 řádků kódu jen pro vložení sériových čísel. To je místo, kde se do obrazu dostává krása smyčky „FOR NEXT“ . Postupujte podle následujících kroků, abyste kód minimalizovali.

Krok 1: Nejprve musíme definovat proměnnou. Deklaroval jsem název proměnné s názvem „Serial_Number“ jako celočíselný datový typ.

Kód:

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

Krok 2: Nyní nařídím použít smyčku FOR NEXT, naším cílem je vložit sériová čísla od 1 do 10, takže to znamená, že naše smyčka musí běžet desetkrát. Takže prohlášení FOR LOOP by mělo být takové.

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

Další sériové číslo

Kód:

Sub For_Next_Loop_Example2 () Dim Serial_Number jako celé číslo pro Serial_Number = 1 až 10 Další Serial_Number End Sub

Krok 3: Aplikovali jsme smyčku. Jakmile je smyčka aplikována, musíme určit, co musíme dělat uvnitř smyčky. Naším cílem je vložit sériová čísla od 1 do 10. Takže kód zapište jako Buňky (Serial_Number, 1). Hodnota = Serial_Number.

Kód:

Sub For_Next_Loop_Example2 () Dim Serial_Number jako celé číslo Dim Serial_Number = 1 až 10 buněk (Serial_Number, 1). Hodnota = Serial_Number Dim Serial_Number End Sub

Krok 4: Důvod, proč jsme ve vlastnosti CELLS dali Serial_Number, protože zde nemůžeme určit hardcore číslo pro odkaz na řádek. Pokaždé, když běží smyčka, chci vložit nové sériové číslo do nové buňky, ne do stejné buňky.

Krok 5: Spusťte kód po řádku stisknutím klávesy F8.

Krok 6: Umístěte kurzor na proměnnou Serial_Number; zobrazuje aktuální hodnotu Serial_Number.

V tomto okamžiku je hodnota Serial_Number nula.

Krok 7: Stiskněte ještě jednou klávesu F8, žlutá barva se přesune na další řádek kódu ve VBA. Nyní umístěte kurzor na Serial_Number.

Nyní je hodnota Serial_Number rovna jedné, protože nyní je smyčka spuštěna a naše smyčka začíná od 1, takže proměnná Serial_Number hodnota je rovna jedné.

Ještě jedna zajímavá věc je všude tam, kde je proměnná Serial_Number, která se také rovná 1.

Ve vlastnosti buněk jsme tedy uvedli kód jako:

Buňky (Serial_Number, 1). Hodnota = Serial_Number

To znamená Cells (1, 1). Hodnota = 1. (Cells (1,1) means Row1 & Column1.

V řádku číslo 1 a sloupci číslo 1 by tedy měla být hodnota 1.

Krok 8: Nyní stiskněte ještě jednou klávesu F8 a podívejte se, co se stane v řádcích1 a sloupcích1, tj. V buňce A1.

Takže jsme dostali 1 jako hodnotu, tj. Hodnotu Serial_Number.

Krok 9: Nyní stiskněte ještě jednou klávesu F8. Obvykle by měl být spuštěn další kód, tj. Konec substatementu. Ale tady se to vrátí zpět k „nad řádkem“.

Krok 10: Pamatujte, že smyčka již dokončila první běh. Nyní se vrací podruhé. Nyní umístěte kurzor na proměnnou Serial_Number a podívejte se, jaká je hodnota.

Proměnná Serial_Number se nyní rovná 2, protože smyčka se již vrátila podruhé.

Ať je Serial_Number kdekoli, rovná se hodnotě 2. Takže kód řádku:

Buňky (Serial_Number, 1). Hodnota = Serial_Number se rovná:

Buňky (2, 1). Hodnota = 2. (Buňky (2,1) znamenají řádek2 a sloupec1, tj. Buňku A2).

Krok 11: Spusťte tento kód a podívejte se na hodnotu v buňce A2.

Takže jsme dostali druhou hodnotu sériového čísla.

Krok 12: Nyní stiskněte klávesu F8. Znovu se vrátí na výše uvedený řádek a zopakuje kód. Tentokrát bude hodnota sériového čísla 3.

Krok 13: Takže ať je Serial_Number kdekoli, rovná se 3.

Takže kód řádku: Buňky (Serial_Number, 1). Hodnota = Serial_Number se rovná:

Buňky (3, 1). Hodnota = 3. (Buňky (3,1) znamenají řádek3 a sloupec1, tj. Buňka A3).

Krok 14: Stisknutím klávesy F8 provedete zvýrazněnou čáru a uvidíte hodnotu v buňce A3.

Krok 15: Nyní stiskněte klávesu F8. Pořád bude vkládat sériová čísla. Momentová hodnota proměnné Serial_Number je 10, zastaví smyčku a smyčku opustí.

Zajímavé články...