VBA kolekcija - Kā izveidot kolekcijas objektu VBA?

Satura rādītājs

Excel VBA kolekcijas objekts

VBA kodēšanā mēs varam izveidot savas kolekcijas grupas, izņemot esošo grupu kolekciju vienā grupā. Savos daudzajos rakstos mēs esam runājuši par objektu mainīgajiem, un šajā apmācībā mēs detalizēti izskatīsim VBA kolekcijas objektu.

Ja esat izlasījis mūsu iepriekšējo rakstu “VBA masīvi”, to jums būs daudz vieglāk saprast. Masīvus izmanto, lai grupētu mainīgos zem viena jumta; līdzīgi kolekciju izmanto arī mainīgo grupas glabāšanai.

Kolekcijas tiek izmantotas objektu glabāšanai. Tie ir daudz elastīgāki nekā VBA bloki, turpretim masīviem ir noteikti izmēru ierobežojumi, taču lasītājiem nav noteikta izmēra ierobežojuma jebkurā noteiktā brīdī, un pat nav nepieciešama manuāla izmēru maiņa.

VBA kolekcija ir ļoti līdzīga “VBA vārdnīcai”, taču vārdnīcai ir nepieciešama ārēja objekta atsauce, lai to iestatītu zem objekta atsauces loga. Izmantojot VBA vārdnīcu, mums ir jāiestata atsauces tips kā “Microsoft Scripting Runtime”, taču kolekcijai nav nepieciešami papildu piederumi.

Kā izveidot kolekcijas objektu VBA?

Lai vispirms sāktu kolekciju, mainīgais ir jādeklarē kā “Kolekcija”.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas beigu apakšgrupa

Tā kā kolekcija ir objekta mainīgais, mums jāiestata objekta atsauce, izveidojot jaunu instanci.

Kods:

Apkopojuma_piemērs () Dim Col kā kolekcijas kopa Col = Jauna kolekcijas beigu apakšgrupa

Tagad ar mainīgo mēs varam piekļūt visām kolekcijas mainīgā “Col” metodēm.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas kopa Col = New Collection Col. End Sub

Pirms šo metožu izmantošanas mums mainīgais ir jādeklarē kā virkne.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas kopa Col = Jauna kolekcija Dim ColResult kā virknes beigu apakšgrupa

Tagad izmantojiet mainīgo “Col”, lai izvēlētos metodi “Pievienot”.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas kopa Col = Jauna kolekcijas kolonna. Pievienot End Sub

Saskaņā ar metodi Pievienot mums ir īpaši parametri. Pieņemsim, ka mēs uzglabājam mobilo zīmolu nosaukumus ar to vidējo pārdošanas cenu tirgū.

Sadaļā Vienums arguments norāda mobilā tālruņa cenu.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas kopa Col = Jauna kolekcijas kol. Pievienot vienumu: = 15000, beigu apakšgrupa

Pēc tam sadaļā Key key ievadiet mobilā zīmola nosaukumu.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas kopa Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" End Sub

Mainīgajam “ColResult” mēs saglabāsim objekta mainīgā “Col” rezultātu.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas kopa Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col (End Sub

Atverot mainīgā “Col” iekavas, mēs varam redzēt argumentu kā Indekss. Šim argumentam mums jānorāda kritiskās argumenta vērtība no Collection add metodes, ti, mobilā zīmola nosaukums.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas kopa Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub

Tagad ļaujiet rādīt rezultātu VBA ziņojumu lodziņā.

Kods:

Apakškolekcijas_piemērs () Dim Col kā kolekcijas kopa Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub

Labi, mēs esam pabeiguši, kad palaidām kodu. Mums vajadzētu redzēt mobilo zīmolu “Redmi” cenu.

Labāka izpratne par galvenajiem un vienumu parametriem

Esmu pārliecināts, ka nav viegli saprast objekta Kolekcija parametrus. Ļaujiet man paskaidrot jums vienkāršu piemēru.

Iedomājieties, ka jums ir augļu ēdienkarte ar to nosaukumu un augļu cenu. Pieņemsim, ka jūs meklējat “Ābolu” cenu pēc augļa nosaukuma.

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:

Apakškolekcijas_piemērs2 () Dim ItemsCol kā kolekcija Dim ColResult As virknes kopa ItemsCol = Jauna kolekcija ItemsCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Ūdens melone", vienums: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Prompt: = "Lūdzu Ievadiet augļa nosaukumu ") Ja ItemsCol (ColResult)" "Tad MsgBox" Augļa cena "& ColResult &" ir: "& ItemsCol (ColResult) Cita MsgBox" Jūsu meklētā augļa cena nepastāv krājums "Beigt, ja beidzas Apakš

Interesanti raksti...