ВБА ЛистОбјецтс | Водич за ЛистОбјецт Екцел табеле у програму Екцел ВБА

Шта су ЛистОбјецтс у ВБА?

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

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

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

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

На пример, погледајте доленаведене екцел податке.

Коришћењем ВБА ЛистОбјецт кода креираћемо формат табеле за ове податке.

Овај предложак ВБА ЛистОбјецтс Екцел можете преузети овде - ВБА ЛистОбјецтс Екцел предложак
  • За ове податке прво морамо пронаћи који је последњи коришћени ред и колона, па дефинишите две променљиве да бисте то пронашли.

Шифра:

 Суб Лист_Објецтс_Екампле1 () Дим ЛР Ас Лонг Дим ЛЦ Ас Лонг Енд Суб 

  • Да бисте пронашли последњи коришћени ред и колону, користите доњи код.

Шифра:

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

  • Сада дефинишите још једну променљиву која ће садржавати референцу података.

Шифра:

 Дим Рнг Ас Ранге 

  • Сада поставите референцу на ову променљиву помоћу доњег кода.

Шифра:

 Поставите Рнг = ћелије (1, 1). Величина (ЛР, ЛЦ)

Сада треба да користимо ВБА методу „ЛистОбјецт.Адд“ да бисмо креирали табелу, а испод је синтакса исте.

ЛистОбјецт.Адд (Соурце, КслЛистОбјецтХасХеадерс, Дестинатион, ТаблеСтилеНаме)

Извор: Ово није ништа за који опсег ћелија убацујемо табелу. Дакле, овде можемо навести два аргумента, тј. “КслСрцРанге” и „КслСрцЕктернал“.

КслЛистОбјецтХасХеадерс: Ако табела за убацивање података има заглавља или не. Ако је одговор да, можемо вам пружити „КслИес“ ако не можемо пружити „КслНо“.

Одредиште: Ово није ништа друго до наш опсег података.

Стил стола: Ако желите да примените било који стил табеле, можемо пружити стилове.

  • Ок, сада у активном листу правимо табелу, па би доњи код створио табелу за нас.

Шифра:

 Дим Вс Ас Ворксхеет Сет Вс = АцтивеСхеет Вс.ЛистОбјецтс.Адд клСрцРанге, кллистобјецтхасхеадерс: = клИес, Дестинатион: = Рнг

  • После овога, овој таблици морамо дати име.

Шифра:

Вс.ЛистОбјецтс (1) .наме = "ЕмпТабле"

  • Испод је пуни код за вашу референцу.

Шифра:

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

Ок, покренимо код и видимо магију.

Створио је табелу према поменутим подацима и дао јој име као „ЕмпТабле“.

Форматирање Екцел табела помоћу ВБА ЛистОбјецтс

Једном када је креирана Екцел табела, можемо радити са табелама помоћу вба ЛистОбјецт колекције.

  • Прво дефинишите променљиву као „ЛистОбјецт“.

Шифра:

 Суб Лист_Објецтс_Екампле2 () Затамни МиТабле као ЛистОбјецт Енд Суб 

  • Сада поставите референцу на ову променљиву помоћу имена табеле.

Шифра:

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

Сада променљива „МиТабле“ садржи референцу за табелу „ЕмпТабле“.

  • Унесите име променљиве и ставите тачку да бисте видели својства и методе ВБА ЛистОбјецт.

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

Шифра:

МиТабле.Ранге.Селецт

Ово би изабрало целу табелу података, укључујући наслов.

  • Ако желите да изаберете само садржај табеле без заглавља, онда морамо да користимо „ДатаБодиРанге“.

Шифра:

МиТабле.ДатаБодиРанге.Селецт

Овако, можемо се играти са столовима.

  • Испод је листа кодова активности за вашу референцу.

Шифра:

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

Овако, можемо да користимо колекцију „ЛистОбјецт“ за поигравање са екцел табелама.

Ствари које треба запамтити

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