Ovaj vodič će vas naučiti kako se kretati kroz nizove u VBA -i.
Postoje dva primarna načina prolaska kroz nizove pomoću VBA -e:
- Za svaku petlju - For Every Loop će proći kroz svaku stavku u nizu.
- Za sljedeću petlju - Petlja For Next će petljati kroz određene početne i završne pozicije niza (Možemo koristiti UBound i LBound funkcije za petlju kroz cijeli niz).
Za svaku stavku u nizu
The Za svaku petlju omogućuje vam da prođete kroz svaki element niza.
12345678910111213141516171819 | Sub LoopForArrayStatic ()'deklarirati varijantni nizDim strNames (1 To 4) As String'popunite nizstrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarirajte varijantu za držanje elementa nizaPriguši stavku kao varijantu'petlja kroz cijeli nizZa svaku stavku u strNames'prikaži element u prozoru za otklanjanje pogrešaka.Otklanjanje pogrešaka. Ispis stavkePetljaKraj podm |
Gore navedeni postupak će proći kroz sva imena u nizu.
Za sljedeću petlju
For Next Loop će proći kroz svaku stavku na navedenom početnom i krajnjem položaju niza.
Petlja kroz dio niza
Možete ručno odrediti početni i završni položaj za svoju petlju. To može biti prikladno ako znate veličinu niza i/ili želite samo proći kroz dio niza.
12345678910111213141516 | Sub LoopForNextStatic ()'deklarirati varijantni nizDim strNames (1 To 4) As String'popunite nizstrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarirati cijeli brojDim i Kao cijeli broj'petlja od položaja 2 do položaja 3 nizaZa i = 2 do 3'prikaži ime u neposrednom prozoruDebug.Print strNames (i)Sljedeći iKraj podm |
U gornjem primjeru smo petljali kroz pozicije 2 i 3 niza. Neposredni prozor vratio bi imena na sljedeći način.
Petlja kroz cijeli niz
Zatim ćemo koristiti UBound i LBound funkcije za petlju kroz cijeli niz. Ovo je izuzetno korisno ako se početni i krajnji položaj niza mogu promijeniti (npr. Dinamički niz):
123456789101112131415161718 | Sub LoopForNextDynamic ()'deklarirati varijantni nizDim strNames () Kao niz'inicijalizirati nizReDim strNames (1 do 4)'popunite nizstrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarirati cijeli brojDim i Kao cijeli broj'petlja od donje granice niza do gornje granice niza - čitavog nizaZa i = LBound (strNames) Za UBound (strNames)'prikaži ime u neposrednom prozoruDebug.Print strNames (i)Sljedeći iKraj podm |