ВБА Цоллецтион - Како створити објект колекције у ВБА?

Преглед садржаја

Објекат збирке Екцел ВБА

У ВБА кодирању, осим постојеће колекције предмета из једне групе, можемо да креирамо и наше групе колекција. У нашим многим чланцима говорили смо о променљивим објекта, а у овом упутству детаљно ћемо проћи кроз објект колекције ВБА.

Ако сте прошли кроз наш претходни чланак „ВБА низови“, ово ће вам бити много лакше да разумете. Низови се користе за груписање променљивих под једним кровом; слично, Цоллецтион се такође користи за чување групе променљивих.

Колекције се користе за чување предмета. Они су далеко флексибилнији од ВБА низова, док низови имају фиксна ограничења величине, али читачи немају ниједно ограничење фиксне величине у било ком тренутку и чак не захтевају ручну промену величине.

ВБА колекција је врло слична „ВБА речнику“, али речник захтева да се спољна референца објекта постави испод прозора референце објекта. Уз ВБА речник морамо да поставимо референтни тип као „Мицрософт Сцриптинг Рунтиме“, али Цоллецтион не захтева додатну опрему.

Како створити објект колекције у ВБА?

Да бисмо прво започели са сакупљањем, променљиву морамо прогласити као „Збирка“.

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Ас Цоллецтион Енд Суб

С обзиром да је колекција променљива објекта, морамо поставити референцу на објекат стварањем нове инстанце.

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Ас Сет колекције Цол = Нова колекција Крај Суб

Сада са променљивом можемо приступити свим методама прикупљања променљиве „Цол.“

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Ас Сет колекције Цол = Нова колекција Цол. Енд Суб

Пре употребе ових метода, променљиву морамо прогласити као низ.

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Ас Сет колекције Цол = Нова колекција Дим ЦолРесулт Ас Стринг Енд Суб

Сада користите променљиву „Цол“ да бисте изабрали метод „Адд“.

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Ас Сет колекције Цол = Нова колекција Цол.Адд Енд Суб

Под методом Адд имамо одређене параметре. Претпоставимо да на тржишту чувамо имена брендова мобилних уређаја са њиховом просечном продајном ценом.

У ставци Аргумент уноси цену мобилног телефона.

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Ас Сет колекције Цол = Нова колекција Цол.Адд Итем: = 15000, Енд Суб

Даље, под Кључни аргумент унесите назив бренда за мобилне уређаје.

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Ас Цоллецтион Сет Цол = Нова колекција Цол.Адд Итем: = 15000, Кеи: = "Редми" Енд Суб

За променљиву „ЦолРесулт“ чуваћемо резултат променљиве објекта „Цол“.

Шифра:

Подколекција_Пример () Затамни Цол као колекција Сет Цол = Нова колекција Цол.Додај ставку: = 15000, Кључ: = "Редми" ЦолРесулт = Цол (Крај Суб)

Када отворите заграду променљиве „Цол“, аргумент можемо видети као Индекс. За овај аргумент морамо навести критичну вредност аргумента из методе Збирка додавања, тј. Име бренда за мобилне уређаје.

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Као Сет колекције Цол = Нова колекција Цол.Адд Итем: = 15000, Кеи: = "Редми" ЦолРесулт = Цол ("Редми") Енд Суб

Сада нека резултат прикаже у оквиру за поруке у ВБА.

Шифра:

Суб Цоллецтион_Екампле () Дим Цол Ас Цоллецтион Сет Цол = Нова колекција Цол.Адд Итем: = 15000, Кеи: = "Редми" ЦолРесулт = Цол ("Редми") МсгБок ЦолРесулт Енд Суб

Ок, готови смо када покренемо код. Требали бисмо видети цијену бренда за мобилне уређаје „Редми“.

Боље разумевање параметара кључа и предмета

Сигуран сам да није лако разумети параметре објекта Цоллецтион. Објаснићу вам једноставан пример.

Замислите да имате јеловник са воћем са његовим именом и ценом. Претпоставимо да цену воћа „јабука“ тражите по имену воћа.

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:

Суб Цоллецтион_Екампле2 () Дим ИтемсЦол Ас Цоллецтион Дим ЦолРесулт Ас Стринг Сет ИтемсЦол = Нев Цоллецтион ИтемсЦол.Адд Кеи: = "Аппле", Итем: = 150 ИтемсЦол.Адд Кеи: = "Оранге", Итем: = 75 ИтемсЦол.Адд Кеи: = "Лубеница", ставка: = 45 предметаЦол.Адд Кеи: = "Мусх Миллан", итем: = 85 ИтемсЦол.Адд Кеи: = "Манго", итем: = 65 ЦолРесулт = Апплицатион.ИнпутБок (Промпт: = "Плеасе Унесите име воћа ") Ако ИтемсЦол (ЦолРесулт)" "Тада МсгБок" Цена воћа "& ЦолРесулт &" је: "& ИтемсЦол (ЦолРесулт) Ел МсгБок" Цена воћа које тражите не постоји у збирка „Крај ако се заврши Суб

Занимљиви Чланци...