Шта су ЛистОбјецтс у ВБА?
У табели обично видимо скуп података, али у терминологији ВБА постоји много више таквих као што је опсег укупног опсега листе података, колона је позната као колона листе, а ред познат као ред листе итд. , тако да за приступ овим својствима имамо уграђену функцију познату као Листобјецтс и која се користи са функцијом радног листа.
ВБА ЛистОбјецт је начин позивања на екцел табеле током писања ВБА кода. Коришћењем ВБА ЛИСТОБЈЕЦТС, можемо да креирамо, бришемо табелу и у потпуности се можемо поиграти са екцел табелама у ВБА коду. Екцел табеле су незгодне, почетницима, па чак и донекле, корисницима средњег нивоа је тешко да раде са табелама. Будући да овај чланак говори о референцирању екцел табела у ВБА кодирању, боље је да имате добро знање о табелама у екцелу.
Када се подаци претворе у табеле, више не радимо са низом ћелија. Уместо тога, морамо да радимо са опсезима табела, па ћемо вам у овом чланку показати како да радите са екцел табелама за ефикасно писање ВБА кодова.

Направите формат табеле користећи ЛистОбјецтс у програму Екцел ВБА
На пример, погледајте доленаведене Екцел податке.

Користећи ВБА ЛистОбјецт код, створићемо формат табеле за ове податке.
- За ове податке прво морамо пронаћи који је последњи коришћени ред и колона, па дефинишите две променљиве да бисте то пронашли.
Шифра:
Суб Лист_Објецтс_Екампле1 () Дим ЛР Ас Лонг Дим ЛЦ Ас Лонг Енд Суб

- Да бисте пронашли последњи коришћени ред и колону, користите доњи код.
Шифра:
ЛР = ћелије (редови.број, 1). Завршетак (клУп). Ред ЛЦ = ћелије (1, ступци.број). Завршетак (клТоЛефт) .колона

- Сада дефинишите још једну променљиву која ће садржати референцу података.
Шифра:
Дим Рнг Ас Ранге

- Сада поставите референцу на ову променљиву помоћу доњег кода.
Шифра:
Поставите Рнг = ћелије (1, 1). Величина (ЛР, ЛЦ)

Сада треба да користимо ВБА методу „ЛистОбјецт.Адд“ да бисмо креирали табелу, а испод је синтакса исте.
ЛистОбјецт.Адд (Соурце, КслЛистОбјецтХасХеадерс, Дестинатион, ТаблеСтилеНаме)
Извор: Ово није ништа за који опсег ћелија убацујемо табелу. Дакле, овде можемо навести два аргумента, тј. „КслСрцРанге“ и „клСрцЕктернал“.
КслЛистОбјецтХасХеадерс: Ако табела која убацује податке има заглавља или не. Ако је одговор да, можемо дати „клИес“. Ако не, можемо да доставимо „клНо.“
Одредиште: Ово није ништа друго до наш опсег података.
Стил табеле: Ако желите да примените било који стил табеле, можемо пружити стилове.
- Ок, сада на активном листу, ми креирамо табелу, тако да би доњи код створио табелу за нас.
Шифра:
Дим Вс Ас Ворксхеет Сет Вс = АцтивеСхеет Вс.ЛистОбјецтс.Адд клСрцРанге, кллистобјецтхасхеадерс: = клИес, Дестинатион: = Рнг

- После овога, овој таблици морамо дати име.
Шифра:
Вс.ЛистОбјецтс (1) .наме = "ЕмпТабле"

- Испод је пуни код за вашу референцу.
Шифра:
Суб Лист_Објецтс_Екампле1 () Дим ЛР Ас Лонг Дим ЛЦ Ас Лонг ЛР = Целлс (Ровс.Цоунт, 1) .Енд (клУп) .Ред ЛЦ = Целлс (1, Цолумнс.Цоунт) .Енд (клТоЛефт) .Цолумн Дим Рнг Ас Ранге Постави Рнг = Ћелије (1, 1) .Ресизе (ЛР, ЛЦ) Дим Вс Ас Ворксхеет Сет Вс = АцтивеСхеет Вс.ЛистОбјецтс.Адд клСрцРанге, кллистобјецтхасхеадерс: = клИес, Дестинатион: = Рнг Вс.ЛистОбјецтс (1) .наме = " ЕмпТабле "Енд Суб
Ок, покренимо код и видимо магију.

Створио је табелу за поменуте податке и дао јој име табеле као „ЕмпТабле“.
Форматирање Екцел табела помоћу ВБА ЛистОбјецтс
Једном када је креирана Екцел табела, можемо да радимо са табелама помоћу ВБА ЛистОбјецт колекције.
- Прво дефинишите променљиву као „ЛистОбјецт“.
Шифра:
Суб Лист_Објецтс_Екампле2 () Затамни МиТабле као ЛистОбјецт Енд Суб

- Сада поставите референцу на ову променљиву помоћу имена табеле.
Шифра:
Суб Лист_Објецтс_Екампле2 () Затамни МиТабле као ЛистОбјецт Сет МиТабле = АцтивеСхеет.ЛистОбјецтс ("ЕмпТабле") Енд Суб

Сада променљива „МиТабле“ садржи референцу за табелу „ЕмпТабле“.
- Унесите име променљиве и ставите тачку да бисте видели својства и методе ВБА ЛистОбјецт.

На пример, ако желимо да изаберемо целу табелу, онда морамо да користимо објекат „Распон“, а под тим треба да користимо метод „Изабери“.
Шифра:
МиТабле.Ранге.Селецт

Ово би изабрало целу табелу података, укључујући наслов.
- Ако желите да изаберете само садржај табеле без заглавља, онда морамо да користимо „ДатаБодиРанге“.
Шифра:
МиТабле.ДатаБодиРанге.Селецт

Овако, можемо се играти са столовима.
- Испод је листа кодова активности за вашу референцу.
Шифра:
Суб Лист_Објецтс_Екампле2 () Затамни МиТабле као ЛистОбјецт Сет МиТабле = АцтивеСхеет.ЛистОбјецтс ("ЕмпТабле") МиТабле.ДатаБодиРанге.Селецт 'Да бисте изабрали опсег података без заглавља МиТабле.Ранге.Селецт' Да бисте изабрали опсег података са заглављима МиТабле.ХеадерРигхтРовРаве. Изаберите редове заглавља табеле МиТабле.ЛистЦолумнс (2) .Ранге.Селецт 'За одабир колоне 2 укључујући заглавље МиТабле.ЛистЦолумнс (2) .ДатаБодиРанге.Селецт' За одабир колоне 2 без заглавља Енд Суб
Овако, можемо да користимо колекцију „ЛистОбјецт“ за поигравање са екцел табелама.
Ствари које треба запамтити
- ВБА ЛистОбјецт је колекција објеката који упућују на Екцел табеле.
- Да бисмо прво приступили колекцији ЛистОбјецт, морамо да одредимо који је радни лист на који се позивамо.