Tento tutoriál vás naučí, ako prechádzať poliami vo VBA.
Existujú dva hlavné spôsoby, ako prechádzať poliami pomocou VBA:
- Pre každú slučku - For For Loop bude prechádzať každou položkou v poli.
- Pre ďalšiu slučku - Slučka For Next Loop bude prechádzať zadanými počiatočnými a koncovými polohami poľa (Na prechod cez celé pole môžeme použiť funkcie UBound a LBound).
Pre každú položku v poli
The Pre každú slučku vám umožňuje prechádzať každým prvkom poľa.
12345678910111213141516171819 | Sub LoopForArrayStatic ()'deklarujte variantné poleDim strNames (1 až 4) ako reťazec"naplňte pole."strNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarujte variant, ktorý bude držať prvok poľaTmavú položku ako variant'cez celé polePre každú položku v strNames'zobraziť prvok v okne ladenia.Debug.Print položkaSlučkaKoniec pod |
Vyššie uvedený postup bude prechádzať všetkými názvami v poli.
Pre ďalšiu slučku
Slučka For Next Loop bude prechádzať každou položkou v zadanej počiatočnej a koncovej polohe poľa.
Smyčka cez časť poľa
Začiatočné a koncové polohy slučky môžete manuálne určiť. To môže byť vhodné, ak poznáte veľkosť svojho poľa a/alebo chcete iba previesť časť poľa.
12345678910111213141516 | Sub LoopForNextStatic ()'deklarujte variantné poleDim strNames (1 až 4) ako reťazec"naplňte pole."strNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarovať celé čísloDim i As Integer'slučka z polohy 2 do polohy 3 poľaPre i = 2 až 3'zobraziť meno v bezprostrednom okneDebug.Print strNames (i)Ďalej iKoniec pod |
Vo vyššie uvedenom príklade sme prešli cez pozície 2 a 3 poľa. Okamžité okno vráti názvy nasledovne.
Smyčka cez celé pole
Ďalej použijeme funkcie UBound a LBound na slučku celým poľom. Je to veľmi užitočné, ak sa počiatočná a koncová pozícia poľa môžu zmeniť (napríklad dynamické pole):
123456789101112131415161718 | Sub LoopForNextDynamic ()'deklarujte variantné poleDim strNames () ako reťazec'inicializujte poleReDim strNames (1 až 4)“naplňte polestrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarovať celé čísloDim i As Integer'slučka od spodnej hranice poľa k hornej hranici poľa - celého poľaPre i = LBound (strNames) Do UBound (strNames)'zobraziť meno v bezprostrednom okneDebug.Print strNames (i)Ďalej iKoniec pod |