VBA Array di oggetti

Sommario

Questo tutorial dimostrerà come creare e utilizzare array di oggetti in VBA.

In VBA, gli array sono variabili che memorizzano più valori. Puoi archiviare oggetti VBA in array nello stesso modo in cui memorizzeresti qualsiasi altro dato.

Dichiarazione dell'array di oggetti

In questo esempio, dichiareremo un array di fogli di lavoro VBA:

1 Dim arWks(3) come foglio di lavoro

Popolamento di un array di oggetti statici

Dichiarare l'array di oggetti statico, quindi è possibile popolare l'array con i fogli selezionati dalla cartella di lavoro.

12345678 Sub TestObjArray()'definire l'array come array di fogli di lavoroDim arWks (da 1 a 3) come foglio di lavoro'aggiungi 3 fogli nell'arrayset arWks(1) = Fogli(1)set arWks(2) = Fogli(2)Imposta arWks(3) = Fogli(3)Fine sottotitolo

Popolamento di un array di oggetti dinamici

È possibile dichiarare l'array di oggetti come dinamico e quindi contare i fogli nella cartella di lavoro prima di assegnare la dimensione dell'array all'array di oggetti.

1234567891011121314 Sub TestObjArray()'definire l'array come array di fogli di lavoroDim arWks() come foglio di lavoro'conta quanti fogli di lavoro nel file e ri-oscura l'arrayDim n As IntegerDim i As Integer'conta i fogli e meno uno per impostare i limiti per l'arrayn = Application.Sheets.Count - 1RiDim arWks(n)'riempi l'array del foglio di lavoro con tutti i fogli nella cartella di lavoroPer i = LBound(arWks) a UBound(arWks)Imposta arWks(i) = ActiveWorkbook.Sheets(i + 1)Avanti ioFine sottotitolo

Nell'esempio sopra, dichiariamo prima l'array del foglio di lavoro. Quindi contiamo il numero di fogli nella cartella di lavoro e assegniamo quel valore meno uno all'UBound dell'array. Ciò è dovuto al fatto che LBound dell'array inizia come 0. Infine, eseguiamo il ciclo dei fogli e aggiungiamo ciascun foglio all'array.

Utilizzo dell'array di oggetti nel codice VBA

Dopo aver popolato l'array del foglio di lavoro, possiamo usare VBA per scorrere l'array.

123456789101112131415161718 Sub TestObjArray()'definire l'array come array di fogli di lavoroDim arWks() come foglio di lavoro'conta quanti fogli di lavoro nel file e ri-oscura l'arrayDim n As IntegerDim i As Integer'conta i fogli e meno uno per impostare i limiti per l'arrayn = Application.Sheets.Count - 1ReDim arWks(n)'riempi l'array del foglio di lavoro con tutti i fogli nella cartella di lavoroPer i = LBound(arWks) a UBound(arWks)Imposta arWks(i) = ActiveWorkbook.Sheets(i + 1)Avanti io'fai qualcosa a ogni foglio dell'arrayPer i = LBound(arWks) a UBound(arWks)arWks(i).Range("A1:H1").Font.Bold = TrueAvanti ioFine sottotitolo

Nell'esempio sopra, eseguiamo il ciclo attraverso l'array e Bold la prima riga di ogni foglio nell'array.

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

wave wave wave wave wave