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

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

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

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

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

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

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

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

Овај предложак ВБА колекције Екцел можете преузети овде - ВБА колекција Екцел предложак

Шифра:

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

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

Шифра:

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

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

Шифра:

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

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

Шифра:

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

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

Шифра:

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

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

Испод Предмет, аргумент уноси цену мобилног.

Шифра:

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

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

Шифра:

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

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

Шифра:

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

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

Шифра:

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

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

Шифра:

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

У реду, готови смо када покренемо код, требали бисмо видети цену мобилне марке „Редми“.

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

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

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

Да бисмо претражили цену воћа, морамо да поменемо име воћа, тј. У колекцији ВБА језик Име воћа је Кључ а цена воћа је „Предмет“.

То је попут примене функције ВЛООКУП или ХЛООКУП, на основу вредности претраживања дохватићемо потребне податке из базе података. Овде је вредност претраживања Кључ а резултат је Предмет.

Напредни пример

Замислите да сте менаџер продавнице у једној од малопродајних продавница и да сте одговорни за управљање упитима купаца. Један од таквих упита купаца је упит о цени производа.

Морате омогућити купцу да претражује цену производа са потпуним информацијама. Слично томе, морате приказати поруку у случају да подаци нису пронађени. Испод је пример кода који ће приказати поље за унос пред корисником и он треба да унесе назив производа који тражи, ако је производ у колекцији, приказаће цену поменутог производа или ће у супротном прикажи поруку као „Производ који тражите не постоји“.

Шифра:

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