Oggetto raccolta VBA di Excel

Abbiamo visto che il dizionario VBA e l'array VBA hanno entrambi una connessione simile con la raccolta VBA. In VBA Collection, possiamo creare la nostra raccolta di gruppi e fornire l'elemento e la chiave per ottenere il valore archiviato al suo interno. Mentre nel dizionario VBA abbiamo usato per creare il dizionario stesso in VBA, che crea il nostro dizionario che ha la definizione di parole e valori come nel normale dizionario. E lo stesso anche in VBA Array, dove si creava un oggetto di raccolta con dimensioni limitate.

Il vantaggio di VBA Collection è che non abbiamo bisogno di estendere le dimensioni di nessun oggetto che definiamo qui. Qualunque oggetto venga creato in VBA Collection non ha limiti. E non dobbiamo cambiare le dimensioni di nessun oggetto come se pensiamo che lo richieda.

Insieme alla creazione di oggetti Aggiungi raccolta, possiamo usare anche Conteggio, Oggetto e Rimuovi oggetti raccolta.

Come creare un oggetto raccolta in Excel VBA?

Di seguito sono riportati i diversi esempi per creare oggetti di raccolta in Excel utilizzando il codice VBA.

Puoi scaricare questo modello di raccolta Excel VBA qui - Modello di raccolta VBA Excel

Collezione Excel VBA - Esempio n. 1

In questo esempio, vedremo come creare una raccolta oggetti in VBA. Per questo, seguire i passaggi seguenti:

Passaggio 1: vai alla finestra VBA, nella scheda del menu Inserisci seleziona Modulo come mostrato di seguito.

Step 2: Scrivi la sottocategoria di VBA Collection con lo stesso nome o possiamo scegliere qualsiasi altro nome secondo la nostra convenienza.

Codice:

 Sub Excel_Collection1 () End Sub 

Passaggio 3: ora definire una variabile come Raccolta in qualsiasi nome, come mostrato di seguito.

Codice:

 Sub Excel_Collection1 () Dim ColObject come raccolta Fine sottotitoli 

Possiamo scegliere qualsiasi parola, testo o nome per definire una variabile, ma si consiglia di definirla nel processo di esecuzione prima della funzione.

Passaggio 4: impostare la variabile definita come Nuova raccolta. Ciò consentirà di attivare e impostare l'oggetto già definito come Raccolta su Nuova raccolta.

Codice:

 Sub Excel_Collection1 () Dim ColObject come insieme di raccolte ColObject = Nuova raccolta Fine sottotitoli 

Passaggio 5: abbiamo visto nella descrizione di diversi oggetti di raccolta come Aggiungi, Ite m, Conta e Rimuovi . Ora useremo tutti questi oggetti per archiviare nuovi contenuti. Innanzitutto, per aggiungere, assegneremo l' ADD alla variabile ColObject definita.

Codice:

 Sub Excel_Collection1 () Dim ColObject come set di raccolte ColObject = Nuova collezione ColObject.Add End Sub 

Passaggio 6: Ora sotto ARTICOLO, sceglieremo un numero progressivo che può essere qualsiasi cosa. Qui, lo stiamo selezionando come 1.

Codice:

 Sub Excel_Collection1 () Dim ColObject come set di raccolta ColObject = New Collection ColObject.Add Item: = 1, End Sub 

Passaggio 7: Nella sintassi della raccolta VBA, è necessario immettere il TASTO per il quale è possibile assegnare l'ITEM. Anche qui possiamo scegliere qualsiasi cosa da aggiungere nel repository VBA. Abbiamo considerato la parola Newton qui.

Codice:

 Sub Excel_Collection1 () Dim ColObject come set di raccolta ColObject = Nuova collezione ColObject.Add Item: = 1, chiave: = "Newton" End Sub 

Passaggio 8: possiamo saltare la parte Prima e Dopo della sintassi. Successivamente, assegneremo la chiave a una variabile oggetto Collection.

Codice:

 Sub Excel_Collection1 () Dim ColObject come set di raccolta ColObject = New Collection ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") End Sub 

Passaggio 9: utilizzare una finestra di messaggio per visualizzare il valore memorizzato nella variabile oggetto Collection.

Codice:

 Sub Excel_Collection1 () Dim ColObject come set di raccolta ColObject = New Collection ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub 

Passo 10: ora compila il codice ed eseguilo facendo clic sul pulsante Riproduci situato sotto la barra dei menu.

Otterremo il messaggio come 1. Il che significa che per la chiave Newton, l'oggetto si trova in 1a posizione.

Collezione Excel VBA- Esempio n. 2

C'è un altro metodo o modo in cui possiamo vedere quale numero di articolo è assegnato a quale chiave. Possiamo anche contare il numero di chiavi compilate nell'oggetto Raccolta VBA. Questo processo è abbastanza simile al processo che abbiamo visto nell'esempio-1. Per questo, seguire i passaggi seguenti:

Passaggio 1: scrivere la sottocategoria di VBA Collection come mostrato di seguito.

Codice:

 Sub Excel_Collection2 () End Sub 

Passaggio 2: considera la stessa variabile che abbiamo visto nell'esempio-1 come Collection e impostala come New Collection come ColObject.

Codice:

 Sub Excel_Collection2 () Dim ColObject come insieme di raccolte ColObject = Nuova raccolta Fine sottotitoli 

ColObject è l'unica variabile qui in questo esempio da quell'aiuto che vedremo il conteggio o la sequenza di definire Item e Key.

Passaggio 3: ora all'oggetto Collection definito assegnare la funzione ADD e scegliere qualsiasi valore secondo la vostra scelta. Qui stiamo selezionando 10.

Codice:

 Sub Excel_Collection2 () Dim ColObject come set di raccolta ColObject = Nuova collezione ColObject.Add 10 End Sub 

Passaggio 4: Allo stesso modo, aggiungi altri 2 o 3 oggetti Collection come mostrato di seguito.

Codice:

 Sub Excel_Collection2 () Dim ColObject come set di raccolta ColObject = Nuova collezione ColObject.Aggiungi 10 ColObject.Aggiungi 20 ColObject.Aggiungi 30 End Sub 

Passaggio 5: per conoscere il conteggio degli oggetti utilizzati nell'oggetto Collection, utilizzeremo la stampa di debug.

Codice:

 Sub Excel_Collection2 () Dim ColObject come set di raccolta ColObject = Nuova collezione ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub 

Il vantaggio principale dell'utilizzo della stampa di debug qui invece della finestra di messaggio è che saremmo in grado di ottenere il conteggio insieme all'errore se ce n'è. Per qualsiasi errore otterremo un output come Zero e mentre per il processo corretto otterremo il valore effettivo.

Passaggio 6: per ottenere il conteggio della variabile ColObject, utilizzeremo la funzione Count, che è la parte di una funzione integrata nell'elenco.

Codice:

 Sub Excel_Collection2 () Dim ColObject come set di raccolta ColObject = Nuova collezione ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub 

Passaggio 7: dall'opzione di menu Visualizza, selezionare la finestra immediata come mostrato di seguito. Oppure possiamo usare un tasto di scelta rapida come Ctrl + G per ottenere questa finestra.

Questo è il luogo in cui vedremo l'output utilizzando la stampa di debug.

Passaggio 8: ora compila il codice ed eseguilo facendo clic sul pulsante Riproduci situato sotto la barra dei menu. Vedremo, nella finestra immediata, il conteggio delle raccolte totali di oggetti arriverà a 3 .

Ora per verificare se il conteggio ottenuto è corretto o meno, elimineremo una riga dell'oggetto raccolta o lo convertiremo in testo posizionando apostrofo (') e eseguiremo nuovamente il codice.

Otterremo il conteggio aggiornato come 2 che è il conteggio degli oggetti di raccolta 10 e 20 Numero oggetto. E possiamo notare che la terza riga dell'oggetto di raccolta è colorata in verde e questo è il segno di convertire il codice in testo.

Pro della collezione VBA di Excel

  • Non abbiamo bisogno di ridimensionare l'oggetto che abbiamo definito.
  • Possiamo usare diversi oggetti Collection che sono integrati in Excel VBA Collection. Questi oggetti non sono visibili in altre funzioni come VBA Dictionary o VBA Array.
  • Con VBA Collection, possiamo anche qualsiasi tipo di database di clienti o prodotti.

Cose da ricordare

  • Si consiglia di utilizzare la stampa di debug anziché la finestra di messaggio. Con questo, saremmo in grado di vedere l'errore e correggerlo.
  • Con VBA Collection, possiamo vari tipi di oggetti e aggiungere qualsiasi dimensione di dati.
  • Nella funzione oggetto oggetto, possiamo definire qualsiasi numero secondo la nostra scelta. Può essere il codice del prodotto, la sequenza o il prezzo che vogliamo vedere.
  • Salvare il file in Macro Enable Excel ci consentirà di conservare il codice per ulteriori.

Articoli consigliati

Questa è una guida alla collezione VBA. Qui discutiamo come creare un oggetto Collection in Excel usando il codice VBA insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Guida all'uso della lunghezza dell'array VBA
  2. Come calcolare l'intervallo in Excel?
  3. Tutorial su celle VBA
  4. PowerPivot in Excel

Categoria: