Excel VBA-verzamelobject

We hebben gezien dat het VBA-woordenboek en VBA-array beide een vergelijkbare connectie hebben met VBA Collection. In VBA Collection kunnen we onze eigen verzameling van groepen maken en het item en de sleutel leveren om de waarde eronder te krijgen. Terwijl we in VBA Dictionary het woordenboek zelf in VBA maakten, waarmee we ons eigen woordenboek maken met een definitie van woorden en waarden zoals normaal woordenboek. En hetzelfde in VBA Array ook, waar we vroeger een verzamelobject met een beperkte grootte maakten.

Het voordeel van VBA Collection is dat we de grootte van elk object dat we hier definiëren niet hoeven uit te breiden. Welk object in VBA Collection is gemaakt, heeft geen beperkingen. En we hoeven de grootte van een object niet te wijzigen alsof we denken dat dit vereist is.

Samen met het maken van een Collection-object kunnen we ook Count, Item en Collection-objecten gebruiken.

Hoe maak je een verzamelobject in Excel VBA?

Hieronder staan ​​de verschillende voorbeelden om een ​​verzamelobject te maken in Excel met behulp van VBA-code.

U kunt deze VBA-verzameling Excel-sjabloon hier downloaden - VBA-verzameling Excel-sjabloon

Excel VBA Collection - Voorbeeld # 1

In dit voorbeeld zullen we zien hoe u een Objectcollectie in VBA maakt. Volg hiervoor de onderstaande stappen:

Stap 1: Ga naar het VBA-venster, selecteer onder het menutabblad Invoegen de module zoals hieronder getoond.

Stap 2: Schrijf de subcategorie van VBA Collection onder dezelfde naam of we kunnen een andere naam kiezen op basis van ons gemak.

Code:

 Sub Excel_Collection1 () Einde Sub 

Stap 3: definieer nu een variabele als verzameling in een willekeurige naam, zoals hieronder wordt weergegeven.

Code:

 Sub Excel_Collection1 () Dim ColObject As Collection End Sub 

We kunnen elk woord, elke tekst of elke naam kiezen voor het definiëren van een variabele, maar het wordt aanbevolen om dat eerst te definiëren tijdens het uitvoeren van de functie.

Stap 4: Stel de gedefinieerde variabele in als Nieuwe verzameling. Dit helpt bij het activeren en instellen van het reeds gedefinieerde object als Collectie op Nieuwe collectie.

Code:

 Sub Excel_Collection1 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling Einde Sub 

Stap 5: We hebben in de beschrijving van verschillende collectieobjecten gezien als Toevoegen, Ite m, Tellen en Verwijderen . Nu zullen we al deze objecten gebruiken voor het opslaan van nieuwe inhoud. Eerst voegen we de toevoeging toe aan de gedefinieerde variabele ColObject om toe te voegen.

Code:

 Sub Excel_Collection1 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject. Einde toevoegen Sub 

Stap 6: Nu onder ITEM kiezen we een volgnummer dat van alles kan zijn. Hier selecteren we het als 1.

Code:

 Sub Excel_Collection1 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject. Item toevoegen: = 1, einde sub 

Stap 7: In de Syntaxis van VBA Collection moeten we de KEY invoeren waaraan we het ITEM kunnen toewijzen. Ook hier kunnen we alles kiezen om toe te voegen in VBA-repository. We hebben het woord Newton hier overwogen.

Code:

 Sub Excel_Collection1 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject.Add Item: = 1, Key: = "Newton" End Sub 

Stap 8: We kunnen het gedeelte Before en After van Syntax overslaan. Daarna zullen we de sleutel toewijzen aan een objectvariabele Collection.

Code:

 Sub Excel_Collection1 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") End Sub 

Stap 9: Gebruik een berichtvenster om de waarde te zien die is opgeslagen in de variabele Collection-object.

Code:

 Sub Excel_Collection1 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub 

Stap 10: compileer nu de code en voer deze uit door te klikken op de knop Afspelen onder de menubalk.

We krijgen het bericht als 1. Wat betekent dat voor sleutel Newton het item zich op de eerste positie bevindt.

Excel VBA Collection- Voorbeeld # 2

Er is een andere methode of manier waarop we kunnen zien welk itemnummer aan welke sleutel is toegewezen. We kunnen ook het aantal sleutels tellen dat is ingevuld in het VBA Collection-object. Dit proces is vrij gelijkaardig aan het proces dat we hebben gezien in voorbeeld-1. Volg hiervoor de onderstaande stappen:

Stap 1: Schrijf de subcategorie van VBA Collection zoals hieronder getoond.

Code:

 Sub Excel_Collection2 () Einde Sub 

Stap 2: Beschouw dezelfde variabele die we in voorbeeld-1 als Collectie hebben gezien en stel deze in als Nieuwe Collectie als ColObject.

Code:

 Sub Excel_Collection2 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling Einde Sub 

ColObject is de enige variabele hier in dit voorbeeld waardoor we de telling of volgorde van Item en sleutel kunnen zien.

Stap 3: wijs nu aan het gedefinieerde collectieobject de functie TOEVOEGEN toe en kies een waarde volgens uw keuze. Hier selecteren we 10.

Code:

 Sub Excel_Collection2 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject. 10 einde toevoegen Sub 

Stap 4: voeg op dezelfde manier nog 2 of 3 meer verzamelobjecten toe, zoals hieronder wordt getoond.

Code:

 Sub Excel_Collection2 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 End Sub 

Stap 5: Om het aantal items te kennen dat in het Collection-object wordt gebruikt, gebruiken we Debug-print.

Code:

 Sub Excel_Collection2 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub 

Groot pluspunt van het gebruik van Debug-print hier in plaats van het berichtvak is dat we de telling samen met de fout zouden kunnen krijgen als die er is. Voor elke fout krijgen we een uitvoer als nul en voor het juiste proces krijgen we de werkelijke waarde.

Stap 6: Om de telling van de variabele ColObject te krijgen, gebruiken we de functie Count (onderdeel) van een ingebouwde functie in de lijst.

Code:

 Sub Excel_Collection2 () Dim ColObject als verzameling Set ColObject = Nieuwe verzameling ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub 

Stap 7: Selecteer in de menuoptie Beeld het venster Direct zoals hieronder weergegeven. Of we kunnen een sneltoets gebruiken als Ctrl + G om dit venster te krijgen.

Dit is de plaats waar we de uitvoer zullen zien met Debug-print.

Stap 8: compileer nu de code en voer deze uit door te klikken op de knop Afspelen onder de menubalk. We zullen in het directe venster zien dat het aantal totale objectverzamelingen 3 wordt .

Om nu te testen of de verkregen telling correct is of niet, zullen we een rij van het verzamelobject verwijderen of dat in tekst converteren door apostrof (') te plaatsen en de code opnieuw uit te voeren.

We krijgen de bijgewerkte telling als 2, wat de telling is van collectieobject 10 en 20 Artikelnummer. En we kunnen opmerken dat de derde regel van het verzamelobject groen is en dit is het teken dat code in tekst wordt omgezet.

Voordelen van Excel VBA Collection

  • We hoeven het formaat van het object dat we hebben gedefinieerd niet te wijzigen.
  • We kunnen verschillende Collection-objecten gebruiken die zijn ingebouwd in Excel VBA Collection. Deze objecten worden niet gezien in andere functies zoals VBA Dictionary of VBA Array.
  • Bij VBA Collection kunnen we ook elk type klant- of productdatabase gebruiken.

Dingen om te onthouden

  • Het wordt aanbevolen om Debug-afdrukken te gebruiken in plaats van Message Box. Hierdoor zouden we de fout kunnen zien en corrigeren.
  • Door VBA Collection kunnen we verschillende soorten objecten toevoegen en elke gegevensgrootte toevoegen.
  • In de functie Objectobject kunnen we elk getal volgens onze keuze definiëren. Het kan een productcode, reeks of prijs zijn die we willen zien.
  • Als u het bestand opslaat in Macro inschakelen, kunnen we de code verder bewaren.

Aanbevolen artikelen

Dit is een handleiding voor VBA Collection. Hier bespreken we hoe u een Collection-object in Excel kunt maken met behulp van VBA-code, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Handleiding voor het gebruik van VBA-arraylengte
  2. Hoe bereik berekenen in Excel?
  3. Tutorials over VBA-cellen
  4. PowerPivot in Excel

Categorie: