VBA zanka skozi niz / za vsak element v nizu

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

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave