Збирка је тип података који чува објекте као и низове (али различите). Док сте писали основне ВБА кодове, морали сте да користите радне свеске, радне листове, опсеге итд. Све су то збирке. У овом чланку ћемо научити о ВБА колекцијама.
Шта је збирка у ВБА?
Збирка је тип података који складишти сличну врсту објеката баш као и низови.
Али за разлику од низа, његова величина се може динамички повећавати или смањивати према захтеву.
Можете додавати, проналазити, преузимати и брисати ставке из колекција.
За разлику од низа, не можете мењати вредности ставки у колекцијама. Ако желите, користите низове као ставку у збирци.
Колекција има 4 својства или методе повезане са њом.
Цоллецтион.Адд Цоллецтион.Итем Цоллецтион.Цоунт Цоллецтион.Ремове
Кроз овај чланак ћемо истражити употребу ових својстава.
Како направити колекцију у ВБА?
Збирка је објект, па ју је потребно декларисати и покренути. Као и сваки други објекат у ВБА, постоје две методе креирања колекције у ВБА.
1. Тренутно стварање
Затамните ставке као нову колекцију
У горњој методи, објекат је тренутно креиран. Ову колекцију можете одмах почети користити за своје потребе.
2. Одложено стварање
Затамните ставке као ставке Скуп колекције = Нова колекција
У овој методи прво креирамо референцу колекције, а по потреби иницијализујемо објектом колекције. Помоћу ове методе можете изабрати да креирате колекцију на основу неких критеријума.
Додавање ставки у колекцију (Цоллецтион.Адд)
Методом додавања додајемо нове ставке у колекцију.
итемс.Адд "Аппле"
Горњи код ће додати низ "Јабуке" у колекцију.
ставке.Додати 1.4
Горњи код ће додати двоструки 1.4 на крај збирке.
Такође можемо дефинисати кључеве за ове ставке. Ови кључеви се могу користити за приступ ставкама у збирци.
Уметање ставки у збирку пре или после постојеће ставке
Метода Адд додаје нове ставке на крају колекције.
Метода додавања има четири параметра.
Додај (ставка, [кључ], [пре], [после])
Први аргумент је неопходан. То је објекат или желите да додате у колекцију. Остали аргументи нису обавезни. У овом одељку видећемо употребу ових аргумената.
Ако желимо да додамо неку ставку пре или после неког пертикуларног индекса/кључа, онда користимо параметре Пре и После методе Адд методе.
итемс.Адд Труе, "б", "цнст" 'Или итемс.Адд Труе, Бефоре: = "цнст"
Обе линије ће уметнути логичку вредност пре кључа "цнст" у ставкама ВБА колекције.
За уметање ставке након пертикуларног индекса/ставке/кључа користимо Афтер параметер методе Адд.
'уметање "Манга" са кључем "м" иза ставки "цнст" кључа. Додајте "Манго", Кључ: = "м", после: = "б"
Изнад линије ће се након тастера "б" уметнути "Манго" са кључем "м".
Белешка: Кључеви ставки треба да буду јединствени. Било који кључ који већ постоји у збирци неће бити прихваћен. ВБА ће вратити грешку да је „кључ већ повезан са елементом ове колекције“.
Ово можемо искористити за нашу предност и добити јединствену листу из збирке.
Приступите збиркама (Цоллецтион.Итем)
Постоје два начина приступа ставкама збирке.
- ЦоллецтионНаме ("индекс/кључ")
- ЦоллецтионНаме.Итем ("индекс/кључ")
На пример, за приступ члану у колекцији ставке на индексу 1 и кључу "апл", могу да користим било који од доле наведених ВБА кодова.
Дебуг.Принт итемс.Итем (1) - Дебуг.Принт итемс (1) - Дебуг.Принт итемс.Итем ("апл") - Дебуг.Принт итемс ("апл")
Како израчунати број предмета у колекцији? (Збирка. Број)
Да бисмо добили укупан број објеката или ставки у колекцији, користимо .Цоунт функцију збирке. .Цоунт метода враћа укупан број ставки у збирци.
ставке.Број
Горња линија ће дати број објеката које колекција има.
Како приступити свим ставкама колекције?
Једини начин приступа свим ставкама колекције у ВБА су петље. Понављамо сваку ставку збирке да бисмо им приступили. За то користимо фор лооп. Петља за сваку се сматра најбржим и најчишћим начином приступа објектима прикупљања.
Понављање збирке у ВБА
Постоје различити начини да прођете кроз збирку у ВБА. Користићемо најелегантније за сваку петљу за понављање кроз збирку.
Превише петље кроз сваку ставку колекције само користите ову линију ВБА кода.
За сваку ставку У ставкама Отклањање грешака. Одштампајте Следећа ставка
Уклањање ставки из колекције (Цоллецтион.Ремове)
Да бисмо уклонили ставку из вба колекције, можемо користити методу Ремове. Метода ремове узима један аргумент. То може бити индекс или кључ ставке (ако је доступна).
итемс.Ремове (1) 'користећи индек - итемс.
Брисање збирке у ВБА
Па, не можете избрисати збирку у вба. Међутим, можете уклонити све ставке те колекције тако што ћете је поново поставити као нову колекцију.
Поставите ставке = Нова колекција
Ова линија кода ће створити нову колекцију на адреси ставки. Због тога ће се наша колекција испразнити.
Арраи вс Цоллецтион у ВБА
Арраи |
Збирка |
Па да момци, ово су основе збирки. Постоје многе предности и употребе ВБА колекције у канцеларијским алатима. Заједно ћемо их истражити. До тада, ако имате било каквих упита у вези са прикупљањем или било чега у вези са Екцел/ВБА, напишите у доњем одељку коментара.