VBA kollektsioon - Kuidas luua VBA-s kogumisobjekti?

Lang L: none (table-of-contents)

Exceli VBA koguobjekt

VBA kodeerimisel saame lisaks oma grupi alla kuuluvale olemasolevale üksuste kogu luua oma kollektsioonirühmad. Oma paljudes artiklites oleme rääkinud objekti muutujatest ja selles õpetuses käsitleme üksikasjalikult VBA kogumisobjekti.

Kui olete meie eelmise artikli “VBA massiivid” läbi vaadanud, on sellest teil palju lihtsam aru saada. Massiive kasutatakse muutujate rühmitamiseks ühe katuse alla; sarnaselt kasutatakse kollektsiooni ka muutujate rühma salvestamiseks.

Kogusid kasutatakse objektide hoidmiseks. Need on palju paindlikumad kui VBA massiivid, samas kui massiividel on fikseeritud suuruse piirangud, kuid lugejatel pole ühelgi ajahetkel fikseeritud suuruse piirangut ja nad ei vaja isegi käsitsi suuruse muutmist.

VBA kollektsioon on väga sarnane “VBA sõnaraamatuga”, kuid sõnastik nõuab välise objekti viite seadistamist objekti viite akna alla. VBA sõnaraamatu puhul peame määrama viite tüübiks "Microsoft Scripting Runtime", kuid kollektsioon ei vaja täiendavaid liitmikke.

Kuidas luua VBA-s kogumisobjekti?

Kogumisega alustamiseks peame deklareerima muutuja väärtuseks „Kogumine”.

Kood:

Alamkogu_näide () Dim Col kui kogu End Sub

Kuna kogu on objekti muutuja, peame uue viite loomisega määrama objekti viite.

Kood:

Alamkogu_näide () Dim Col kui kollektsiooni komplekt Col = Uus kogu End Sub

Nüüd saame muutujaga juurde pääseda kõikidele muutuja “Col” meetoditele

Kood:

Alamkogu_näide () Dim Col kui kollektsiooni komplekt Col = New Collection Col. End Sub

Enne nende meetodite kasutamist peame muutuja deklareerima stringina.

Kood:

Alamkogu_näide () Dim Col kui kollektsiooni komplekt Col = New Collection Dim ColResult kui stringi lõpp Sub

Nüüd kasutage muutuja “Col” meetodi “Lisa” valimiseks.

Kood:

Alamkogu_näide () Dim Col As Collection Set Col = Uus kogu Col. Add End Sub

Add-meetodi all on meil konkreetsed parameetrid. Oletame, et salvestame mobiilseid kaubamärke koos nende keskmise müügihinnaga turul.

Punkti Item sisestab argument mobiiltelefoni hinna.

Kood:

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

Järgmisena sisestage klahvi Argument all mobiilibrändi nimi.

Kood:

Alakogu_näide () Dim Col kui kollektsiooni komplekt Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" End Sub

Muutuja “ColResult” jaoks salvestame objekti muutuja “Col” tulemuse.

Kood:

Alakogu_näide () Dim Col kui kollektsiooni komplekt Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col (End Sub

Muutuja "Col" sulgude avamisel näeme argumenti indeksina. Sest see argument, peame selleks kriitilist argumenti väärtus kollektsiooni add meetod, st nime mobiilne brändi.

Kood:

Alakogu_näide () Dim Col kui kollektsiooni komplekt Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub

Nüüd laske tulemus kuvada VBA teatekastis.

Kood:

Alamkogu_näide () Dim Col kui kollektsiooni komplekt Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub

Ok, koodi lõpetamisel oleme kõik valmis. Peaksime nägema mobiilibrändi Redmi hinda.

Parem arusaamine võtme- ja üksuseparameetritest

Olen kindel, et kogu Collection parameetritest pole lihtne aru saada. Lubage mul selgitada teile lihtsat näidet.

Kujutage ette, et teil on puuviljade menüü koos nende nime ja puuviljade hinnaga. Oletame, et otsite puuvilja “Apple” hinda puuvilja nime järgi.

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:

Alamkogu_näide2 () Dim ItemsCol kollektsioonina Dim ColResult stringina Komplekt ItemsCol = Uus kogu ItemsCol.Add võti: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Vesimelon", punkt: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Prompt: = "Palun Sisestage puuvilja nimi ") Kui ItemsCol (ColResult)" "Siis MsgBox" Puuvilja hind "& ColResult &" on: "& ItemsCol (ColResult) Muu MsgBox" Otsitava puuvilja hinda pole kogu "Lõpeta, kui lõpeb alam

Huvitavad Artiklid...