Овај водич ће показати како се креирају и користе низови објеката у ВБА.
У ВБА, низови су променљиве које складиште више вредности. ВБА објекте можете чувати у низовима на исти начин на који бисте складиштили све остале податке.
Декларисање Објецт Арраи
У овом примеру ћемо прогласити низ ВБА радних листова:
1 | Дим арВкс (3) Као радни лист |
Популација низа статичких објеката
Прогласите низ објеката статичким, а затим можете попунити низ листовима које изаберете из радне свеске.
12345678 | Суб ТестОбјАрраи ()'дефинишите низ као низ радних листоваЗатамните арВкс (1 до 3) као радни лист'додајте 3 листа у низсет арВкс (1) = Табеле (1)сет арВкс (2) = Табеле (2)Сет арВкс (3) = Схеетс (3)Енд Суб |
Попуњавање низа динамичких објеката
Можете прогласити Објецт Арраи као Динамиц, а затим пребројати листове у радној свесци пре него што величину низа доделите Објецт Арраи.
1234567891011121314 | Суб ТестОбјАрраи ()'дефинишите низ као низ радних листоваДим арВкс () Као радни лист'пребројите колико радних листова у датотеци и поново затамните низДим н Ас ИнтегерДим и Ас Интегер'избројите листове и минус један да бисте поставили границе за низн = Апплицатион.Схеетс.Цоунт - 1РеДим арВк (н)'попуните низ радних листова свим листовима у радној свесциЗа и = ЛБоунд (арВкс) до УБоунд (арВкс)Постави арВкс (и) = АцтивеВоркбоок.Схеетс (и + 1)Затим самЕнд Суб |
У горњем примеру прво декларишемо низ радних листова. Затим рачунамо број листова у радној свесци и додељујемо ту вредност минус један УБоунд -у низа. То је због чињенице да ЛБоунд низа почиње као 0. Коначно, пролазимо кроз листове и додајемо сваки лист у низ.
Коришћење низа објеката у ВБА коду
Када попунимо низ радних листова, можемо користити ВБА за петљу кроз низ.
123456789101112131415161718 | Суб ТестОбјАрраи ()'дефинишите низ као низ радних листоваДим арВкс () Као радни лист'пребројите колико радних листова у датотеци и поново затамните низДим н Ас ИнтегерДим и Ас Интегер'пребројите листове и минус један за постављање граница за низн = Апплицатион.Схеетс.Цоунт - 1РеДим арВк (н)'попуните низ радних листова свим листовима у радној свесциЗа и = ЛБоунд (арВкс) до УБоунд (арВкс)Постави арВкс (и) = АцтивеВоркбоок.Схеетс (и + 1)Затим сам„урадите нешто са сваким листом у низуЗа и = ЛБоунд (арВкс) до УБоунд (арВкс)арВкс (и) .Ранге ("А1: Х1"). Фонт.Болд = ТачноЗатим самЕнд Суб |
У горњем примеру пролазимо кроз низ и подебљамо први ред сваког листа у низу.