Ta vadnica vas bo naučila, kako prečkati matrike v VBA.
Obstajata dva primarna načina za pregledovanje nizov z uporabo VBA:
- Za vsako zanko - Za vsako zanko se bo vrtel skozi vsak element matrike.
- Za naslednjo zanko - Zanka For Next Loop bo krožila skozi določene začetne in končne položaje matrike (Funkcije UBound in LBound lahko uporabimo za zanko skozi celotno matriko).
Za vsak element v nizu
The Za vsako zanko omogoča prehod skozi vsak element matrike.
12345678910111213141516171819 | Sub LoopForArrayStatic ()'deklarirajte različico matrikeZatemni imena imen (1 do 4) kot niz'napolni matrikostrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'deklarirajte varianto, ki vsebuje element matrikeZatemni element kot varianto'zanko skozi celotno matrikoZa vsak element v strNames'prikaži element v oknu za odpravljanje napak.Odpravljanje napak. Natisni elementZankaEnd Sub |
Zgornji postopek bo pregledal vsa imena v matriki.
Za naslednjo zanko
Za naslednjo zanko se bo vrtel skozi vsak element na določenem začetnem in končnem položaju matrike.
Zanka skozi del matrike
Začetno in končno pozicijo zanke lahko ročno določite. To je morda primerno, če poznate velikost matrike in/ali želite le prelistati del matrike.
12345678910111213141516 | Sub LoopForNextStatic ()'deklarirajte različico matrikeZatemni imena imen (1 do 4) kot niz'napolni matrikostrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'razglasi celo številoDim i kot celo število'zanka od položaja 2 do položaja 3 matrikeZa i = 2 do 3'prikaži ime v neposrednem oknuDebug.Print strNames (i)Naprej iEnd Sub |
V zgornjem primeru smo prečkali položaje 2 in 3 matrike. Takojšnje okno bi vrnilo imena na naslednji način.
Zanka skozi celoten niz
Nato bomo uporabili funkciji UBound in LBound za zanko skozi celotno matriko. To je izredno uporabno, če se lahko začetni in končni položaj matrike spremeni (npr. Dinamični niz):
123456789101112131415161718 | Sub LoopForNextDynamic ()'deklarirajte različico matrikeDim strNames () Kot niz'inicializirajte matrikoReDim strNames (1 do 4)'napolni matrikostrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'razglasi celo številoDim i kot celo število'zanka od spodnje meje matrike do zgornje meje matrike - celotne matrikeZa i = LBound (strNames) Za UBound (strNames)'prikaži ime v neposrednem oknuDebug.Print strNames (i)Naprej iEnd Sub |