Excel VBA Collection Object

Vi har sett att VBA Dictionary och VBA Array båda har en liknande koppling till VBA Collection. I VBA Collection kan vi skapa vår egen gruppsamling och tillhandahålla objektet och nyckeln för att få värdet lagrat under det. Medan vi i VBA Dictionary brukade skapa själva ordboken i VBA, som skapar vår egen ordbok som har ord- och värdedefinition som normal ordbok har. Och samma i VBA Array också, där vi brukade skapa ett samlingsobjekt med begränsad storlek.

Fördelen med VBA Collection är att vi inte behöver utöka storleken på något objekt som vi definierar här. Vilket objekt som skapas i VBA Collection har inga begränsningar. Och vi behöver inte ändra storleken på något objekt som om vi tror att det krävs.

Tillsammans med skapandet av Lägg till samling-objekt kan vi också använda Räkna, Objekt och Ta bort samlingsobjekt.

Hur skapar jag ett samlingsobjekt i Excel VBA?

Nedan är de olika exemplen för att skapa samlingsobjekt i Excel med hjälp av VBA-kod.

Du kan ladda ner den här VBA-samlingen Excel-mall här - VBA-samlingen Excel-mall

Excel VBA-samling - exempel # 1

I det här exemplet ser vi hur man skapar en objektsamling i VBA. För detta följer du stegen nedan:

Steg 1: Gå till VBA-fönstret, under Infoga-menyfliken väljer du Modul som visas nedan.

Steg 2: Skriv underkategorin i VBA Collection med samma namn, eller så kan vi välja vilket annat namn som helst.

Koda:

 Sub Excel_Collection1 () Avsluta sub 

Steg 3: Definiera nu en variabel som samling i valfritt namn som visas nedan.

Koda:

 Sub Excel_Collection1 () Dim ColObject As Collection Slut Sub 

Vi kan välja valfritt ord, text eller namn för att definiera en variabel, men det rekommenderas att definiera det i processen att utföra funktionen först.

Steg 4: Ställ in den definierade variabeln som Ny samling. Detta hjälper till att aktivera och ställa in det redan definierade objektet som Collection till New Collection.

Koda:

 Sub Excel_Collection1 () Dim ColObject Som samling Ställ ColObject = Ny samling slut Sub 

Steg 5: Vi har sett i beskrivningen av olika samlingsobjekt som Lägg till, Ite m, Räkna och Ta bort . Nu kommer vi att använda alla dessa objekt för att lagra nytt innehåll. Först kommer vi att lägga till ADD till den definierade variabeln ColObject .

Koda:

 Sub Excel_Collection1 () Dim ColObject Som samling Ställ ColObject = Ny samling ColObject.Tillägg slutet Sub 

Steg 6: Nu under ITEM väljer vi ett sekvensnummer som kan vara vad som helst. Här väljer vi det som 1.

Koda:

 Sub Excel_Collection1 () Dim ColObject Som samling Ställ ColObject = Ny samling ColObject.Tillfoga artikel: = 1, slut Sub 

Steg 7: I Syntax of VBA Collection måste vi ange nyckeln som vi kan tilldela ITEM för. Här kan vi också välja vad som helst som ska läggas till i VBA-lagret. Vi har övervägt ordet Newton här.

Koda:

 Sub Excel_Collection1 () Dim ColObject As Collection Ställ ColObject = New Collection ColObject.Tillfoga artikel: = 1, Nyckel: = "Newton" End Sub 

Steg 8: Vi kan hoppa över delen före och efter i Syntax. Efter det tilldelar vi nyckeln till en objektvariabel för en samling.

Koda:

 Sub Excel_Collection1 () Dim ColObject Som samling Ställ ColObject = Ny samling ColObject.Tillfoga artikel: = 1, Nyckel: = "Newton" ColResult = ColObject ("Newton") Slut Sub 

Steg 9: Använd en meddelanderuta för att se värdet lagrat i variabeln Samlingsobjekt.

Koda:

 Sub Excel_Collection1 () Dim ColObject Som samling Ställ ColObject = New Collection ColObject.Tillfoga artikel: = 1, Nyckel: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub 

Steg 10: Sätt nu ihop koden och kör den genom att klicka på knappen Spela under menyfältet.

Vi får meddelandet som 1. Vilket innebär att för nyckel Newton, är objektet placerat i 1: a position.

Excel VBA Collection - Exempel # 2

Det finns en annan metod eller ett sätt på vilket vi kan se vilket artikelnummer som tilldelas vilken nyckel. Vi kan också räkna antalet nycklar som fyllts i VBA Collection-objekt. Denna process liknar den process vi har sett i exempel 1. För detta följer du stegen nedan:

Steg 1: Skriv underkategorin i VBA Collection som visas nedan.

Koda:

 Sub Excel_Collection2 () Avsluta sub 

Steg 2: Tänk på samma variabel som vi har sett i exempel 1 som Collection och ställ den in som New Collection som ColObject.

Koda:

 Sub Excel_Collection2 () Dim ColObject Som samling Ställ ColObject = Ny samling slut Sub 

ColObject är den enda variabeln här i det här exemplet med den hjälp vi kommer att se räkningen eller sekvensen för definiera objekt och nyckel.

Steg 3: Tilldela ADD-funktionen nu till det definierade samlingsobjektet och välj valfritt värde enligt ditt val. Här väljer vi 10.

Koda:

 Sub Excel_Collection2 () Dim ColObject Som samling Ställ ColObject = Ny samling ColObject.Tillfoga 10 slut Sub 

Steg 4: Lägg till 2 eller 3 fler samlingobjekt på samma sätt som visas nedan.

Koda:

 Sub Excel_Collection2 () Dim ColObject Som samling Ställ ColObject = Ny samling ColObject.Tillfoga 10 ColObject.Tillfoga 20 ColObject.Tillfoga 30 End Sub 

Steg 5: För att känna till antalet objekt som används i Collection Object använder vi felsökningstryck.

Koda:

 Sub Excel_Collection2 () Dim ColObject Som samling Ställ ColObject = Ny samling ColObject.Tillfoga 10 ColObject.Tillfoga 20 ColObject.Tillfoga 30 Debug.Print End Sub 

Störst plus att använda felsökningstryck här i stället för meddelanderutan är att vi skulle kunna få räkningen tillsammans med felet om det finns något. För alla fel kommer vi att få en utgång som noll och medan vi för det korrekta processen får det verkliga värdet.

Steg 6: För att få antalet variabla ColObject använder vi Count-funktion som är delen av en inbyggd funktion i listan.

Koda:

 Sub Excel_Collection2 () Dim ColObject Som samling Ställ ColObject = Ny samling ColObject.Tillfoga 10 ColObject.Tillfoga 20 ColObject.Tillfoga 30 Debug.Print ColObject.Count End Sub 

Steg 7: Från Visa- menyalternativet väljer du omedelbart fönster som visas nedan. Eller så kan vi använda en genvägsnyckel som Ctrl + G för att få det här fönstret.

Det är här där vi kommer att se utmatningen med felsökning.

Steg 8: Sätt nu ihop koden och kör den genom att klicka på knappen Spela under menyfältet. Vi kommer att se i det omedelbara fönstret att antalet totala objektsamlingar kommer som 3 .

För att testa, om det erhållna antalet är korrekt eller inte, kommer vi att radera en rad med samlingsobjekt eller konvertera det till text genom att placera apostrof (') och återigen köra koden.

Vi kommer att få det uppdaterade antalet som 2, vilket är antalet samlingsobjekt 10 och 20 artikelnummer. Och vi kan märka att den tredje raden med samlingsobjekt är färgad som grön och det är tecknet för att få kod omvandlad till text.

Fördelar med Excel VBA Collection

  • Vi behöver inte ändra storlek på objektet som vi definierade.
  • Vi kan använda olika Collection-objekt som är inbyggda i Excel VBA Collection. Dessa objekt kan inte ses i andra funktioner som VBA Dictionary eller VBA Array.
  • Genom VBA Collection kan vi också alla typer av kunder eller produktdatabaser.

Saker att komma ihåg

  • Det rekommenderas att använda felsökningstryck istället för meddelanderuta. Genom detta skulle vi kunna se felet och rätta till det.
  • Genom VBA Collection kan vi olika typer av objekt och lägga till vilken datastorlek som helst.
  • I funktionen Objektobjekt kan vi definiera valfritt nummer enligt vårt val. Det kan vara produktkod, sekvens eller pris som vi vill se.
  • Att spara filen i makroaktivera excel gör att vi kan behålla koden för vidare.

Rekommenderade artiklar

Detta är en guide till VBA Collection. Här diskuterar vi hur man skapar Collection-objekt i Excel med hjälp av VBA-kod tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Guide till användning av VBA Array-längd
  2. Hur beräknar jag intervall i Excel?
  3. Handledning om VBA-celler
  4. PowerPivot i Excel

Kategori: