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