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 |