VBA Loop Through Array / Pro každou položku v poli

Tento tutoriál vás naučí, jak procházet poli ve VBA.

Existují dva primární způsoby, jak procházet poli pomocí VBA:

  • Pro každou smyčku - For For Loop bude procházet každou položkou v poli.
  • Pro další smyčku - For For Next Loop bude procházet specifikovanými počátečními a koncovými polohami pole (Pro procházení celého pole můžeme použít funkce UBound a LBound).

Pro každou položku v poli

The Pro každou smyčku umožňuje procházet každým prvkem pole.

12345678910111213141516171819 Sub LoopForArrayStatic ()'deklarujte variantní pole.'Dim strNames (1 až 4) jako řetězec'naplnit polestrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarujte variantu pro uložení prvku poleZtlumit položku jako variantu'smyčka přes celé polePro každou položku v strNames'zobrazit prvek v ladicím okně.' show the element in the debug window.Položka Debug.PrintSmyčkaEnd Sub

Výše uvedený postup bude procházet všemi jmény v poli.

Pro další smyčku

Smyčka For Next Loop bude procházet každou položku v zadané počáteční a koncové poloze pole.

Smyčka přes část pole

Počáteční a koncovou polohu smyčky můžete zadat ručně. To může být vhodné, pokud znáte velikost pole a/nebo chcete pouze procházet částí pole.

12345678910111213141516 Sub LoopForNextStatic ()'deklarujte variantní pole.'Dim strNames (1 až 4) jako řetězec'naplnit polestrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarujte celé číslo.'Dim i As Integer'smyčka z pozice 2 do polohy 3 polePro i = 2 až 3'zobrazit jméno v bezprostředním okněDebug.Print strNames (i)Příště jáEnd Sub

Ve výše uvedeném příkladu jsme smyčkou prošli pozice 2 a 3 pole. Okamžité okno vrátí názvy následujícím způsobem.

Smyčka skrz celé pole

Dále použijeme funkce UBound a LBound k procházení celého pole. To je velmi užitečné, pokud se počáteční a koncové pozice pole mohou změnit (například dynamické pole):

123456789101112131415161718 Sub LoopForNextDynamic ()'deklarujte variantní pole.'Dim strNames () jako řetězec'inicializujte poleReDim strNames (1 až 4)'naplnit polestrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarujte celé číslo.'Dim i As Integer'smyčka od dolní hranice pole k horní hranici pole - celé polePro i = LBound (strNames) To UBound (strNames)'zobrazit jméno v bezprostředním okněDebug.Print strNames (i)Příště jáEnd Sub

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave