ВБА Водич за изведене табеле

Овај водич ће показати како се ради са изведеним табелама користећи ВБА.

Заокретне табеле су алати за сумирање података које можете користити да извучете кључне увиде и сажетке из својих података. Погледајмо пример: имамо изворне скупове података у ћелијама А1: Д21 који садрже детаље о продатим производима, приказане испод:

Коришћење ГетПивотДата за добијање вредности

Претпоставимо да имате изведену табелу која се зове изведена табела1 са продајом у пољу вредности/података, производом као редом и регионом као пољима. За враћање вредности из изведених табела можете користити метод изведене табеле.ГетПивотДата.

Следећи код ће из заокретне табеле вратити 1.130,00 УСД (укупна продаја за источни регион):

1 МсгБок АцтивеЦелл.ПивотТабле.ГетПивотДата ("Продаја", "Регион", "Исток")

У овом случају, продаја је „Поље података“, „Поље1“ је регија, а „Ставка1“ је исток.

Следећи код ће из заокретне табеле вратити 980 УСД (укупна продаја производа АБЦ у северном региону):

1 МсгБок АцтивеЦелл.ПивотТабле.ГетПивотДата ("Продаја", "Производ", "АБЦ", "Регион", "Север")

У овом случају, продаја је „Поље података“, „Поље1“ је производ, „Ставка1“ је АБЦ, „Поље2“ је регија, а „Ставка2“ је север.

Такође можете укључити више од 2 поља.

Синтакса за ГетПивотДата је:

ГетПивотДата (ДатаФиелд, Поље1, Ставка 1, Поље2, Ставка 2… ) где:

Параметер Опис
Датафиелд Поље података као што су продаја, количина итд. Које садржи бројеве.
Поље 1 Назив поља колоне или реда у табели.
Ставка 1 Назив ставке у пољу 1 (опционално).
Поље 2 Назив поља колоне или реда у табели (опционално).
Ставка 2 Назив ставке у пољу 2 (опционално).

Креирање изведене табеле на листу

Да бисмо направили изведену табелу на основу горњег опсега података, у ћелији Ј2 на листу 1 активне радне свеске, користили бисмо следећи код:

1234567891011 Радни листови („Лист1“). Ћелије (1, 1) .ИзабратиАцтивеВоркбоок.ПивотЦацхес.Цреате (Изворни тип: = клДатабасе, СоурцеДата: = _"Лист1! Р1Ц1: Р21Ц4", Верзија: = клПивотТаблеВерсион15) .ЦреатеПивотТабле _ТаблеДестинатион: = "Схеет1! Р2Ц10", ТаблеНаме: = "ПивотТабле1", ДефаултВерсион _: = клПивотТаблеВерсион15Табеле („Лист 1“). Изаберите

Резултат је:

Креирање изведене табеле на новом листу

Да бисмо направили изведену табелу на основу горњег опсега података, на новом листу активне радне свеске, користили бисмо следећи код:

12345678910111213 Радни листови („Лист1“). Ћелије (1, 1) .ИзабратиСхеетс.АддАцтивеВоркбоок.ПивотЦацхес.Цреате (Изворни тип: = клДатабасе, СоурцеДата: = _"Лист1! Р1Ц1: Р21Ц4", Верзија: = клПивотТаблеВерсион15) .ЦреатеПивотТабле _ТаблеДестинатион: = "Схеет2! Р3Ц1", ТаблеНаме: = "ПивотТабле1", ДефаултВерсион _: = клПивотТаблеВерсион15Табеле („Лист 2“). Изаберите

Додавање поља у изведену табелу

Можете додати поља у новостворену изведену табелу под називом изведена табела1 на основу горњег опсега података. Напомена: Лист који садржи вашу изведену табелу мора бити активни лист.

Да бисте додали Производ у поље за редове, користили бисте следећи код:

123 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Продуцт"). Оријентација = клРовФиелдАцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Продуцт"). Поситион = 1

Да бисте додали регион у поље колона, користили бисте следећи код:

123 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). Ориентатион = клЦолумнФиелдАцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). Поситион = 1

Да бисте додали продају у одељак вредности са форматом броја валуте, користили бисте следећи код:

123456789 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). АддДатаФиелд АцтивеСхеет.ПивотТаблес (_"Заокретна табела1"). Заокретна поља ("Продаја"), "Збир продаје", клСумСа АцтивеСхеет.ПивотТаблес ("Заокретна табела1"). Заокретна поља ("Збир продаје").НумберФормат = "$#, ## 0.00"Завршити

Резултат је:

Промена изгледа извештаја изведене табеле

Можете да промените распоред извештаја своје изведене табеле. Следећи код ће променити изглед извештаја ваше изведене табеле у табеларни образац:

1 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ТаблеСтиле2 = "ПивотСтилеЛигхт18"

Брисање изведене табеле

Заокретну табелу можете избрисати помоћу ВБА. Следећи код ће обрисати изведену табелу под називом ПивотТабле1 на активном листу:

12 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотСелецт "", клДатаАндЛабел, ТруеСелецтион.ЦлеарЦонтентс

Форматирајте све изведене табеле у радној свесци

Можете да форматирате све изведене табеле у радној свесци користећи ВБА. Следећи код користи структуру петље да би прошао кроз све листове радне свеске и избрисао све изведене табеле у радној свесци:

12345678910111213 ПодобликовањеАллТхеПивотТаблесИнАВоркбоок ()Дим вкс Ас ВорксхеетДим вб Као радна свескаПодесите вб = АцтивеВоркбоокДим пт Као изведена табелаЗа сваки вкс У вб.СхеетсЗа сваку тачку У недељама.Заводне табелепт.ТаблеСтиле2 = "ПивотСтилеЛигхт15"Нект птСледеће недељеЕнд Суб

Да бисте сазнали више о томе како да користите петље у ВБА, кликните овде.

Уклањање поља изведене табеле

Помоћу ВБА можете уклонити поља у изведеној табели. Следећи код ће уклонити поље Продуцт у одељку Ровс из изведене табеле под називом ПивотТабле1 у активном листу:

12 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Продуцт"). Оријентација = _клХидден

Креирање филтера

Изведена је изведена табела под називом ПивотТабле1 са производом у одељку Редови и продајом у одељку вредности. Такође можете да креирате филтер за своју изведену табелу користећи ВБА. Следећи код ће створити филтер на основу региона у одељку Филтери:

123 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). Ориентатион = клПагеФиелдАцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). Поситион = 1

Да бисте филтрирали своју изведену табелу на основу једне ставке извештаја, у овом случају у источном региону, користили бисте следећи код:

12345 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). ЦлеарАллФилтерсАцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). ЦуррентПаге = _"Исток"

Рецимо да сте желели да филтрирате своју изведену табелу на основу више региона, у овом случају на истоку и северу, користили бисте следећи код:

1234567891011121314 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). Ориентатион = клПагеФиелдАцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). Позиција = 1АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион"). _ЕнаблеМултиплеПагеИтемс = ТачноСа АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотФиелдс ("Регион").ПивотИтемс ("Југ"). Видљиво = Нетачно.ПивотИтемс ("Запад"). Видљиво = НетачноЗавршити

Освежавање заокретне табеле

Своју изведену табелу можете освежити у ВБА. Употребили бисте следећи код да бисте освежили одређену табелу која се зове ПивотТабле1 у ВБА:

1 АцтивеСхеет.ПивотТаблес ("ПивотТабле1"). ПивотЦацхе.Рефресх
wave wave wave wave wave