Excel VBA: procedury smyčky vysvětleny.

Excel VBA smyčky

Smyčky jsou jedním z nejzákladnějších a nejvýkonnějších programovacích nástrojů ve VBA a používají se ve většině programovacích jazyků. Smyčky se používají k opakování bloku kódu tolikrát, kolikrát je požadováno, dokud daná podmínka nezmizí nebo není dosaženo určitého bodu (nebo hodnoty), po kterém se provede další část kódu. Smyčka umožňuje napsat několik jednoduchých řádků kódu a dosáhnout mnohem významnějšího výstupu, a to pouze opakováním.
  • Pro smyčku
    • Pro ... Další prohlášení
    • Pro každý ... Další prohlášení
  • Proveďte při smyčce
    • Zatímco ... Loop Statements
    • Do ... Loop Zatímco prohlášení
  • Do Until Loop
    • Do Until ... Prohlášení o smyčce
    • Do ... Loop Do Statements

Tam jsou tři základní druhy smyček VBA (rozdělil do 6 smyček jak dole): \ t

Pro smyčku

Pro ... Další prohlášení

opakuje blok kódu určitý početrát.

následující příklad zobrazí MsgBox po dobu 5 krát a zobrazí číslo.

 Sub F_Next_loop () Dim i jako celé číslo Pro i = 1 až 5 MsgBox i Další i End Sub 

Pro každý ... Další prohlášení

Smyčka For Each ... Next opakuje blok kódu pro každý objekt ve skupině. Opakuje provedení bloku kódu pro každý prvek kolekce. Smyčka se zastaví, když jsou všechny prvky v kolekci pokryty a provedení se přesune do části kódu bezprostředně po příkazu Další.

 Sub F_each_loop () Dim buňky jako rozsah pro každou buňku v ActiveSheet.Range ("A1: A10") Cell.Interior.Color = RGB (160, 251, 142) Další buňka End Sub 

 Příkaz Exit For okamžitě zastaví provádění existující smyčky a provede část kódu bezprostředně následující po příkazu Next, 

Proveďte při smyčce

opakuje blok kódu na dobu neurčitou, zatímco specifikovaná podmínka bude i nadále splněna a vyhodnocena na hodnotu True, a zastaví se, když se stav změní na hodnotu False. Podmínka může být testována buď na začátku nebo na konci smyčky.

Zatímco ... Loop Statements

testovat stav na začátku,

 Sub do_While () Dim i jako integer i = 1 Do Zatímco buňky (i, 1) .Value "" MsgBox ii = i + 1 Loop MsgBox i End Sub 

Do ... Loop Zatímco prohlášení

otestujte stav na konci smyčky

 Sub do_While () Dim i jako Integer i = 1 Do MsgBox ii = i + 1 Loop zatímco buňky (i, 1) .Value "" MsgBox i End Sub 

 Příkaz Exit Do okamžitě zastaví provádění existující smyčky a provede část kódu bezprostředně následující po příkazu Next, 

Do Until Loop

opakuje blok kódu donekonečna, dokud není podmínka splněna a vyhodnocena jako true. Podmínka může být testována buď na začátku nebo na konci smyčky

Do Until ... Prohlášení o smyčce

testovat stav na začátku,

 Sub do_Until () Dim i jako integer i = 1 Do Until Not IsEmpty (Buňky (i, 1)) Buňky (i, 1) .Interior.Color = RGB (255, 0, 0) i = i + 1 Loop End Sub 

Do ... Loop Do Statements

otestujte stav na konci smyčky.

 Sub do_Until () Dim i jako integer i = 1 Do Cells (i, 1) .Interior.Color = RGB (255, 0, 0) i = i Loop dokud není IsEmpty (buňky (i, 1)) End Sub 
Předchozí Článek Následující Článek

Nejlepší Tipy