VBA Loop Through Array / For hvert element i Array

Denne vejledning lærer dig, hvordan du går gennem arrays i VBA.

Der er to primære måder at gennemgå arrays ved hjælp af VBA:

  • For hver sløjfe - For hver sløjfe går gennem hvert element i arrayet.
  • Til næste sløjfe - For næste løkke vil gå gennem bestemte start- og slutpositioner i arrayet (vi kan bruge UBound- og LBound -funktionerne til at gå gennem hele arrayet).

For hvert element i array

Det For hver sløjfe giver dig mulighed for at gå gennem hvert element i arrayet.

12345678910111213141516171819 Sub LoopForArrayStatic ()'erklære en variant arrayDim strNavne (1 til 4) som streng'udfyld matrixenstrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'erklære en variant for at holde array -elementetDim element som variant'løbe gennem hele arrayetFor hvert element i strNames'vis elementet i fejlfindingsvinduet.Debug.Print elementSløjfeAfslut Sub

Ovenstående procedure går gennem alle navnene i arrayet.

Til næste sløjfe

For næste løkke vil gå gennem hvert element ved en bestemt start- og slutposition i arrayet.

Sløjfe igennem en del af Array

Du kan manuelt angive start- og slutpositionerne for din loop. Dette kan være hensigtsmæssigt, hvis du kender din matrixstørrelse og/eller du kun vil gå gennem en del af en matrix.

12345678910111213141516 Sub LoopForNextStatic ()'erklære en variant arrayDim strNavne (1 til 4) som streng'udfyld matrixenstrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'erklære et helt talDim i As Integer'loop fra position 2 til position 3 i arrayetFor i = 2 til 3'vis navnet i det umiddelbare vindueDebug.Print strNames (i)Næste iAfslut Sub

I eksemplet ovenfor har vi gennemgået positionerne 2 og 3 i arrayet. Det umiddelbare vindue ville returnere navnene som følger.

Loop Through Hele Array

Dernæst vil vi bruge UBound- og LBound -funktionerne til at gå igennem et helt array. Dette er yderst nyttigt, hvis arrayets start- og slutpositioner kan ændre sig (f.eks. Et dynamisk array):

123456789101112131415161718 Sub LoopForNextDynamic ()'erklære en variant arrayDim strNames () Som streng'initialiser arrayetReDim strNames (1 til 4)'udfyld matrixenstrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'erklære et helt talDim i As Integer'loop fra matrixens nedre grænse til arrayets øvre grænse - hele arrayetFor i = LBound (strNames) Til UBound (strNames)'vis navnet i det umiddelbare vindueDebug.Print strNames (i)Næste iAfslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave