See õpetus õpetab teile, kuidas VBA -s massiive läbi vaadata.
Massiividest VBA abil saab läbi viia kaks peamist viisi:
- Iga silmuse jaoks - Iga silmuse jaoks vaatab massiivi iga üksuse läbi.
- Järgmise silmuse jaoks - For For Next Loop vaatab läbi massiivi määratud algus- ja lõpppositsioonid (kogu massiivi läbimiseks saame kasutada funktsioone UBound ja LBound).
Iga üksuse kohta massiivis
The Iga silmuse jaoks võimaldab teil massiivi igast elemendist läbi vaadata.
12345678910111213141516171819 | Sub LoopForArrayStatic ()'deklareerida massiivi variantDim strNames (1 kuni 4) stringina'täitke massiivstrNames (1) = "Bob"strNames (2) = "Peeter"strNames (3) = "Keith"strNames (4) = "Sam"'kuuluta massiivielemendi hoidmiseks variantHämarda objekt variandina'ringi läbi kogu massiiviIga üksuse jaoks strNames'näita elementi silumisaknas.Silumine. Prindi üksusLoopEnd Sub |
Ülaltoodud protseduur vaatab läbi kõik massiivi nimed.
Järgmise silmuse jaoks
Järgmise silmuse jaoks ringleb iga üksus läbi massiivi määratud algus- ja lõpppositsiooni.
Korda osa massiivist läbi
Saate silmuse algus- ja lõpppositsiooni käsitsi määrata. See võib olla asjakohane, kui teate oma massiivi suurust ja/või soovite ainult massiivi mõnest osast läbi vaadata.
12345678910111213141516 | Sub LoopForNextStatic ()'deklareerida massiivi variantDim strNames (1 kuni 4) stringina'täitke massiivstrNames (1) = "Bob"strNames (2) = "Peeter"strNames (3) = "Keith"strNames (4) = "Sam"'deklareerige täisarvDim i As täisarv'silmus massiivi 2. positsioonilt 3. positsioonileSest i = 2 kuni 3'näita nime aknasSilumine. Prindi strNames (i)Edasi iEnd Sub |
Ülaltoodud näites oleme silmusesse jõudnud massiivi 2. ja 3. positsiooni. Vahetu aken tagastab nimed järgmiselt.
Korda kogu massiivi
Järgmisena kasutame UBoundi ja LBoundi funktsioone terve massiivi läbimiseks. See on äärmiselt kasulik, kui massiivi algus- ja lõpppositsioon võivad muutuda (nt dünaamiline massiiv):
123456789101112131415161718 | Sub LoopForNextDynamic ()'deklareerida massiivi variantDim strNames () stringina'initsialiseeri massiivReDim strNames (1 kuni 4)'täitke massiivstrNames (1) = "Bob"strNames (2) = "Peeter"strNames (3) = "Keith"strNames (4) = "Sam"'deklareerige täisarvDim i As täisarv'silmus massiivi alumisest piirist massiivi ülemise piirini - kogu massiivI = LBound (strNames) kuni UBound (strNames)'näita nime aknasSilumine. Prindi strNames (i)Edasi iEnd Sub |