VBA Collection - Hvordan lage samleobjekt i VBA?

Innholdsfortegnelse

Excel VBA Collection Object

I VBA-koding, bortsett fra den eksisterende samlingen av varer under en gruppe, kan vi opprette samlingsgruppene våre. I våre mange artikler har vi snakket om objektvariabler, og i denne opplæringen vil vi gjennomgå VBA-samlingsobjektet i detalj.

Hvis du har gått gjennom vår forrige artikkel "VBA Arrays", vil dette være mye lettere for deg å forstå. Arrays brukes til å gruppere variabler under ett tak; På samme måte brukes Collection også til å lagre en gruppe variabler.

Samlinger brukes til å lagre gjenstander. De er langt mer fleksible enn VBA-matriser, mens matriser har faste størrelsesbegrensninger, men leserne har ingen fast størrelsesbegrensning på et gitt tidspunkt og trenger til og med ikke manuell endring av størrelse.

VBA Collection er veldig lik "VBA Dictionary", men ordboken krever at ekstern objektreferanse skal settes opp under objektreferansevinduet. Med VBA Dictionary trenger vi å angi referansetypen som "Microsoft Scripting Runtime", men Collection krever ingen ekstra tilbehør.

Hvordan lage samleobjekt i VBA?

For å komme i gang med innsamling først, må vi erklære variabelen som "Samling."

Kode:

Sub Collection_Example () Dim Col As Collection End Sub

Siden samlingen er en objektvariabel, må vi angi objektreferansen ved å opprette en ny forekomst.

Kode:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection End Sub

Nå med variabelen kan vi få tilgang til alle metodene for samlingsvariabelen "Kol."

Kode:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col. End Sub

Før vi bruker disse metodene, må vi erklære en variabel som en streng.

Kode:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection Dim ColResult Som String End Sub

Bruk nå variabelen "Col" for å velge "Add" -metoden.

Kode:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col.Add End Sub

Under Add-metoden har vi spesifikke parametere. La oss anta at vi lagrer mobile merkenavn med deres gjennomsnittlige salgspris i markedet.

Under Item angir argumentet prisen på mobilen.

Kode:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col.Add Item: = 15000, End Sub

Neste under Key argument, skriv mobil merkenavn.

Kode:

Sub Collection_Example () Dim Col Som Collection Set Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" End Sub

For variabelen "ColResult" lagrer vi resultatet av "Col" -objektvariabelen.

Kode:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col (End Sub

Når du åpner parentesen til variabelen "Col", kan vi se argumentet som indeks. For dette argumentet må vi oppgi den kritiske argumentverdien fra Collection add-metoden, dvs. navnet på mobilmerket.

Kode:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub

La oss nå vise resultatet i meldingsboksen i VBA.

Kode:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub

Ok, vi er ferdige når vi kjører koden. Vi bør se prisen på mobilmerket "Redmi."

Bedre forståelse av nøkkel- og vareparametere

Jeg er sikker på at det ikke er lett å forstå parametrene til Collection-objektet. La meg forklare deg et enkelt eksempel.

Tenk deg at du har en meny med frukt med navn og pris på fruktene. Anta at du søker i "Apple" fruktpris med navnet på frukten.

To search the price of the fruit, we need to mention the name of the fruit, i.e., in collection VBA language Name of the Fruit is Key, and the price of the fruit is “Item.”

It is like applying the VLOOKUP or HLOOKUP function, based on the lookup value, and we will fetch the required data from the database. Here lookup value is Key, and the result is Item.

Advanced Example

Imagine you are a store manager in one of the retail stores, and you are responsible for managing the customer queries. One such customer query is an inquiry about the product price.

It would help if you allowed the customer to search the price of the product with complete information. Similarly, you need to show the message in case of no data found. Below is the example code which will present the input box in front of the user. They require to enter the name of the product they are looking for. If the product is there in the collection, it will show the price of the mentioned product, or else it will show the message as “The Product you are searching for doesn’t exist.”

Code:

Sub Collection_Example2 () Dim ItemsCol Som Collection Dim ColResult Som strengsett ItemsCol = New Collection ItemsCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Water Melon", Item: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Prompt: = "Please Angi fruktnavnet ") Hvis ItemsCol (ColResult)" "Then MsgBox" The Fruit of Fruit "& ColResult &" er: "& ItemsCol (ColResult) Else MsgBox" Pris av frukten du leter etter eksisterer ikke i samlingen "End If End Sub

Interessante artikler...