Zbierka VBA - Ako vytvoriť zbierkový objekt vo VBA?

Objekt kolekcie Excel VBA

V kódovaní VBA môžeme okrem existujúcej zbierky položiek v jednej skupine vytvoriť aj naše skupiny zbierok. V našich mnohých článkoch sme hovorili o premenných objektov a v tomto výučbe podrobne prejdeme objektom zbierky VBA.

Ak ste si prešli našim predchádzajúcim článkom „Polia VBA“, bude vám oveľa ľahšie ich pochopiť. Polia sa používajú na zoskupenie premenných pod jednou strechou; podobne sa kolekcia používa aj na ukladanie skupiny premenných.

Zbierky sa používajú na ukladanie predmetov. Sú oveľa flexibilnejšie ako polia VBA, zatiaľ čo polia majú limity pevnej veľkosti, ale čitatelia nemajú žiadny limit pevnej veľkosti v danom okamihu a dokonca nevyžadujú manuálnu zmenu veľkosti.

Kolekcia VBA je veľmi podobná „Slovníku VBA“, ale slovník vyžaduje, aby bol v okne odkazu na objekt nastavený odkaz na externý objekt. V prípade slovníka VBA musíme nastaviť typ odkazu na „Microsoft Scripting Runtime“, ale kolekcia nevyžaduje žiadne ďalšie úpravy.

Ako vytvoriť zbierkový objekt vo VBA?

Ak chcete začať so zhromažďovaním ako prvým, musíme deklarovať premennú ako „Zbierka“.

Kód:

Sub Collection_Example () Dim Col As Collection End Sub

Pretože kolekcia je premenná objektu, musíme nastaviť odkaz na objekt vytvorením novej inštancie.

Kód:

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

Teraz s touto premennou máme prístup ku všetkým metódam zberu premennej „Col.“

Kód:

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

Pred použitím týchto metód musíme deklarovať premennú ako reťazec.

Kód:

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

Teraz pomocou premennej „Col“ zvoľte metódu „Pridať“.

Kód:

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

Pod metódou Add máme konkrétne parametre. Predpokladajme, že ukladáme názvy mobilných značiek s ich priemernou predajnou cenou na trhu.

Pod položkou Položka argument zadáva cenu mobilu.

Kód:

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

Ďalej v časti Kľúčový argument zadajte názov mobilnej značky.

Kód:

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

Pre premennú „ColResult“ uložíme výsledok premennej objektu „Col“.

Kód:

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

Po otvorení zátvorky premennej „Col“ môžeme argument vidieť ako index. Pre tento argument musíme dodať hodnotu kritického argumentu z metódy Collection add, tj názov mobilnej značky.

Kód:

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

Teraz nechajte výsledok ukázať v okne správy vo VBA.

Kód:

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

Dobre, skončili sme, keď spustíme kód. Mali by sme vidieť cenu mobilnej značky „Redmi“.

Lepšie porozumenie parametrom kľúča a položky

Som si istý, že nie je ľahké pochopiť parametre objektu Collection. Vysvetlím vám jednoduchý príklad.

Predstavte si, že máte ponuku ovocia s ich názvom a cenou ovocia. Predpokladajme, že hľadáte cenu ovocia „Apple“ podľa názvu ovocia.

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 As Collection Dim ColResult As String Set ItemsCol = Nový kľúč ItemsCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Vodný melón", položka: = 45 kľúča ItemsCol.Add: = "kľúč Mush Millan", položka: = 85 kľúča ItemsCol.Add: = "mango", položka: = 65 ColResult = Application.InputBox (výzva: = "prosím Zadajte názov ovocia ") Ak ItemsCol (ColResult)" "Potom MsgBox" Cena ovocia "& ColResult &" je: "& ItemsCol (ColResult) Else MsgBox" Cena ovocia, ktoré hľadáte, neexistuje zbierka „Koniec Ak Koniec Sub

Zaujímavé články...