VBA Loop Through Array / Per ogni elemento nell'array

Questo tutorial ti insegnerà come eseguire il ciclo degli array in VBA.

Esistono due modi principali per eseguire il ciclo degli array utilizzando VBA:

  • Per ogni ciclo - Il ciclo For Each scorrerà ogni elemento nell'array.
  • Per il prossimo ciclo - Il ciclo For Next eseguirà il ciclo attraverso le posizioni di inizio e fine specificate dell'array (possiamo usare le funzioni UBound e LBound per scorrere l'intero array).

Per ogni elemento nell'array

Il Per ogni ciclo consente di scorrere ogni elemento dell'array.

12345678910111213141516171819 Sub LoopForArrayStatic()'dichiarare un array varianteDim strNames (da 1 a 4) come stringa'popola l'arraystrNames(1) = "Bob"strNames(2) = "Pietro"strNames(3) = "Keith"strNames(4) = "Sam"'dichiarare una variante per contenere l'elemento dell'arrayArticolo dim come variante'loop attraverso l'intero arrayPer ogni elemento in strNames'mostra l'elemento nella finestra di debug.Debug.Stampa elementoCiclo continuoFine sottotitolo

La procedura precedente eseguirà il ciclo di tutti i nomi nell'array.

Per il prossimo ciclo

Il ciclo For Next eseguirà un ciclo su ogni elemento in una posizione di inizio e fine specificata dell'array.

Passa attraverso una parte dell'array

Puoi specificare manualmente le posizioni di inizio e fine per il tuo ciclo. Questo può essere appropriato se si conosce la dimensione dell'array e/o si desidera eseguire il ciclo solo attraverso una parte di un array.

12345678910111213141516 Sub LoopForNextStatic()'dichiarare un array varianteDim strNames (da 1 a 4) come stringa'popola l'arraystrNames(1) = "Bob"strNames(2) = "Pietro"strNames(3) = "Keith"strNames(4) = "Sam"'dichiarare un numero interoDim i As Integer'loop dalla posizione 2 alla posizione 3 dell'array'Per i = da 2 a 3'mostra il nome nella finestra immediataDebug.Print strNames(i)Avanti ioFine sottotitolo

Nell'esempio sopra, abbiamo eseguito il loop delle posizioni 2 e 3 dell'array. La finestra immediata restituirebbe i nomi come segue.

Loop attraverso l'intero array

Successivamente, utilizzeremo le funzioni UBound e LBound per eseguire il ciclo di un intero array. Questo è estremamente utile se le posizioni di inizio e fine dell'array potrebbero cambiare (es. un Dynamic Array):

123456789101112131415161718 Sub LoopForNextDynamic()'dichiarare un array varianteDim strNames() As String'inizializza l'arrayReDim strNames (da 1 a 4)'popola l'arraystrNames(1) = "Bob"strNames(2) = "Pietro"strNames(3) = "Keith"strNames(4) = "Sam"'dichiarare un numero interoDim i As Integer'loop dal limite inferiore dell'array al limite superiore dell'array - l'intero arrayPer i = LBound(strNames) To UBound(strNames)'mostra il nome nella finestra immediataDebug.Print strNames(i)Avanti ioFine sottotitolo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave