Obiect de colecție VBA Excel

Am văzut că VBA Dictionary și VBA Array au o conexiune similară cu VBA Collection. În colecția VBA, putem crea propria colecție de grup și putem oferi elementul și cheia pentru a obține valoarea stocată în el. În timp ce în Dicționarul VBA ne-am folosit pentru a crea dicționarul în VBA, care a creat propriul nostru dicționar, care are definiția cuvintelor și valorii așa cum a avut dicționarul normal. Și același lucru în VBA Array, unde am creat un obiect de colecție cu dimensiuni limitate.

Avantajul VBA Collection este că nu trebuie să extindem dimensiunea oricărui obiect definit de noi aici. Orice obiect este creat în VBA Collection nu are nicio limitare. Și nu trebuie să schimbăm dimensiunea niciunui obiect ca și cum credem că este necesar.

Împreună cu crearea obiectului Adăugare colecție, putem folosi și Număr, articol și Eliminare obiecte de colecție.

Cum să creați obiect de colecție în Excel VBA?

Mai jos sunt diferite exemple pentru a crea obiect de colecție în excel folosind codul VBA.

Puteți descărca acest șablon Excel de colecție VBA aici - șablonul Excel de colecție VBA

Colecția Excel VBA - Exemplul # 1

În acest exemplu, vom vedea cum puteți crea o colecție de obiecte în VBA. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Accesați fereastra VBA, sub fila Insert meniu, selectați modulul așa cum se arată mai jos.

Pasul 2: Scrieți subcategoria colecției VBA cu același nume sau putem alege orice alt nume conform comodității noastre.

Cod:

 Sub Excel_Collection1 () End Sub 

Pasul 3: Acum definiți o variabilă ca Colecție în orice nume, așa cum se arată mai jos.

Cod:

 Sub Excel_Collection1 () Dim ColObject As Sub End Colectare Sub 

Putem alege orice cuvânt, text sau nume al definirii unei variabile, dar este recomandat să o definim mai întâi în procesul de îndeplinire a funcției.

Pasul 4: Setați variabila definită ca Colecție nouă. Acest lucru va ajuta la activarea și setarea obiectului deja definit ca Colecție la Colecție nouă.

Cod:

 Sub Excel_Collection1 () Dim ColObject Ca set de colecție ColObject = Subsecvență colecție nouă 

Pasul 5: Am văzut în descrierea diferitelor obiecte de colecție ca Adăugare, Ite m, Numărare și Eliminare . Acum vom folosi toate aceste obiecte pentru stocarea de conținut nou. În primul rând, pentru a adăuga, vom atribui ADD la variabila definită ColObject .

Cod:

 Sub Excel_Collection1 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add End Sub 

Pasul 6: Acum, sub ITEM, vom alege un număr de secvență care poate fi orice. Aici, îl selectăm ca 1.

Cod:

 Sub Excel_Collection1 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add Articol: = 1, End Sub 

Pasul 7: În colecția Sintaxă a VBA, trebuie să introducem cheia pentru care putem atribui ITEM-ul. Tot aici putem alege tot ce trebuie adăugat în depozitul VBA. Am considerat aici cuvântul Newton .

Cod:

 Sub Excel_Collection1 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add Articol: = 1, Cheie: = "Newton" End Sub 

Pasul 8: Putem săriți porțiunea înainte și după sintaxa. Acum după aceea, vom atribui Cheia unei variabile obiect Colecție.

Cod:

 Sub Excel_Collection1 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add Articol: = 1, Cheie: = "Newton" ColResult = ColObject ("Newton") Final Sub 

Pasul 9: Utilizați o casetă de mesaj pentru a vedea valoarea stocată în variabila obiect Colecție.

Cod:

 Sub Excel_Collection1 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub 

Pasul 10: Acum compilați codul și executați-l făcând clic pe butonul Redare situat sub bara de meniu.

Vom primi mesajul ca 1. Ceea ce înseamnă că pentru cheia Newton, articolul este situat la prima poziție.

Colecția Excel VBA - Exemplul # 2

Există o altă metodă sau modalitate prin care putem vedea ce număr de articol este atribuit cheii. Putem număra, de asemenea, numărul de chei completate în obiectul colecției VBA. Acest proces este destul de similar cu cel pe care l-am văzut în exemplul 1. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Scrieți subcategoria colecției VBA așa cum se arată mai jos.

Cod:

 Sub Excel_Collection2 () End Sub 

Pasul 2: Luați în considerare aceeași variabilă pe care am văzut-o în exemplul 1 ca Colecție și setați-o ca Colecție nouă ca ColObject.

Cod:

 Sub Excel_Collection2 () Dim ColObject Ca set de colecție ColObject = Sub colectare finală Sub 

ColObject este singura variabilă aici, în acest exemplu, prin acel ajutor vom vedea numărul sau secvența definită Element și cheie.

Pasul 3: Acum obiectului de colecție definit atribuiți funcția ADD și alegeți orice valoare în funcție de alegerea dvs. Aici selectăm 10.

Cod:

 Sub Excel_Collection2 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add 10 Sub End 

Pasul 4: În mod similar, adăugați încă 2 sau 3 obiecte de colecție, așa cum se arată mai jos.

Cod:

 Sub Excel_Collection2 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 End Sub 

Pasul 5: Pentru a cunoaște numărul de articole utilizate în Obiectul de colecție, vom folosi tipărirea Debug.

Cod:

 Sub Excel_Collection2 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub 

Un punct important în plus al utilizării tipăririi Debug aici în loc de caseta de mesaje este că am fi capabili să obținem numărarea împreună cu eroarea, dacă există. Pentru orice eroare vom obține o ieșire ca Zero și în timp ce pentru procesul corect vom obține valoarea reală.

Pasul 6: Pentru a obține numărul variabilei ColObject, vom folosi funcția Count, care este partea unei funcții incorporate din listă.

Cod:

 Sub Excel_Collection2 () Dim ColObject Ca set de colecție ColObject = Colecție nouă ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub 

Pasul 7: Din opțiunea meniu Vizualizare, selectați fereastra Imediată, așa cum se arată mai jos. Sau putem folosi o tastă scurtă ca Ctrl + G pentru a obține această fereastră.

Acesta este locul în care vom vedea ieșirea folosind Debug print.

Pasul 8: Compilați acum codul și executați-l făcând clic pe butonul Redare situat sub bara de meniu. Vom vedea, în fereastra imediată, numărul de colecții totale de obiecte vine ca 3 .

Acum pentru a testa dacă numărul obținut este corect sau nu, vom șterge un rând de obiect de colecție sau îl vom converti în text prin plasarea apostrofului (') și vom executa din nou codul.

Vom obține numărul actualizat ca 2, care este numărul obiectelor de colecție 10 și 20 Numărul articolului. Și putem observa că a treia linie de obiect de colecție este colorată ca Verde și acesta este semnul transformării codului în text.

Beneficiile colecției VBA Excel

  • Nu trebuie să redimensionăm obiectul pe care l-am definit.
  • Putem utiliza diferite obiecte de colecție care sunt încorporate în Excel VBA Collection. Aceste obiecte nu sunt văzute în alte funcții, cum ar fi VBA Dictionary sau VBA Array.
  • Prin VBA Collection, putem și orice tip de bază de date pentru clienți sau produse.

Lucruri de amintit

  • Se recomandă să utilizați imprimarea Debug în loc de Mesaj. Prin aceasta, am putea vedea eroarea și o vom remedia.
  • Prin colecția VBA, putem tipuri diferite de obiecte și adăugăm orice dimensiune de date.
  • În funcția obiect obiect, putem defini orice număr în funcție de alegerea noastră. Poate fi codul produsului, secvența sau prețul pe care dorim să-l vedem.
  • Salvarea fișierului în Macro active Excel ne va permite să păstrăm codul pentru mai departe.

Articole recomandate

Acesta este un ghid pentru Colecția VBA. Aici vom discuta despre cum puteți crea obiectul Colecție în Excel, folosind codul VBA, împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Ghid pentru utilizarea lungimii Array VBA
  2. Cum se calculează intervalul în Excel?
  3. Tutoriale despre celule VBA
  4. PowerPivot în Excel

Categorie: