VBA kolekcija - Kaip sukurti kolekcijos objektą VBA?

„Excel VBA“ kolekcijos objektas

VBA koduodami, be esamų daiktų kolekcijos vienoje grupėje, galime sukurti savo kolekcijų grupes. Savo daugelyje straipsnių kalbėjome apie objektų kintamuosius, o šioje pamokoje išsamiai apžvelgsime VBA kolekcijos objektą.

Jei peržiūrėjote ankstesnį mūsų straipsnį „VBA masyvai“, tai jums bus daug lengviau suprasti. Masyvai naudojami kintamiesiems grupuoti po vienu stogu; Panašiai kolekcija taip pat naudojama kintamųjų grupei saugoti.

Kolekcijos naudojamos daiktams laikyti. Jie yra daug lankstesni nei VBA matricos, o masyvuose yra fiksuoti dydžio apribojimai, tačiau skaitytojai neturi jokio fiksuoto dydžio apribojimo bet kuriuo konkrečiu momentu ir netgi nereikalauja rankinio dydžio keitimo.

VBA kolekcija yra labai panaši į „VBA žodyną“, tačiau žodyne reikalaujama, kad išorinė objekto nuoroda būtų nustatyta pagal objekto nuorodos langą. Naudodami „VBA Dictionary“ turime nustatyti nuorodos tipą kaip „Microsoft Scripting Runtime“, tačiau kolekcijai nereikia jokių papildomų priedų.

Kaip sukurti kolekcijos objektą VBA?

Norėdami pradėti rinkti pirmiausia, turime paskelbti kintamąjį kaip „Kolekcija“.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip kolekcijos pabaiga Sub

Kadangi kolekcija yra objekto kintamasis, turime nustatyti objekto nuorodą sukurdami naują egzempliorių.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip kolekcijos rinkinys Col = New Collection End Sub

Dabar naudodami kintamąjį galime pasiekti visus rinkimo kintamojo „Col.“ metodus.

Kodas:

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

Prieš pradėdami naudoti šiuos metodus, turime deklaruoti kintamąjį kaip eilutę.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip kolekcijos rinkinys Col = New Collection Dim ColResult as String End Sub

Dabar naudokite kintamąjį „Col“, kad pasirinktumėte metodą „Pridėti“.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip kolekcijos rinkinys Col = New Collection Col. Add End Sub

Pagal metodą Pridėti turime konkrečius parametrus. Tarkime, kad mes saugome mobiliųjų prekių ženklų pavadinimus su jų vidutine pardavimo kaina rinkoje.

Dalyje Prekė argumentas įveda mobiliojo telefono kainą.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip kolekcijos rinkinys Col = New Collection Col. Add Item: = 15000, End Sub

Tada skiltyje Raktas įveskite mobiliojo prekės ženklo pavadinimą.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip rinkinio rinkinys Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" End Sub

Kintamajam „ColResult“ išsaugosime objekto kintamojo „Col“ rezultatą.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip rinkinio rinkinys Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col (End Sub

Atidarius kintamojo „Col“ skliaustą, argumentą galime pamatyti kaip „ Index“. Šiam argumentui turime pateikti kritinę argumento vertę iš „Collection add“ metodo, ty mobiliojo prekės ženklo pavadinimą.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip rinkinio rinkinys Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub

Dabar leiskite rodyti rezultatą VBA pranešimų laukelyje.

Kodas:

Antrinis rinkinys_pavyzdys () Dim Col kaip rinkinio rinkinys Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub

Gerai, mes baigėme, kai paleidžiame kodą. Turėtume pamatyti mobiliojo prekės ženklo „Redmi“ kainą.

Geresnis pagrindinių ir elementų parametrų supratimas

Esu įsitikinęs, kad nėra lengva suprasti objekto „Kolekcija“ parametrus. Leiskite paaiškinti jums paprastą pavyzdį.

Įsivaizduokite, kad turite vaisių meniu su jų pavadinimu ir vaisių kaina. Tarkime, kad „Apple“ vaisių kainos ieškote pagal vaisiaus pavadinimą.

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:

Antrinis rinkinys_pavyzdys2 () „Dim ItemsCol“ kaip kolekcijos „Dim ColResult“ kaip eilutės rinkinys „ItemsCol = New Collection ItemsCol.Add Key: =" Apple ", Item: = 150 ItemsCol.Add Key: =" Orange ", Item: = 75 ItemsCol.Add Key: = "Vandens melionas", elementas: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Prompt: = "Please Įveskite vaisiaus pavadinimą ") Jei ItemsCol (ColResult)" "Tada MsgBox" Vaisiaus kaina "& ColResult &" yra: "& ItemsCol (ColResult) Kita MsgBox" Ieškomo vaisiaus kaina neegzistuoja rinkinys „End If End Sub

Įdomios straipsniai...