ВБА табела стожера | Кораци за креирање изведене табеле у ВБА

Изведена табела Екцел ВБА

Изведене табеле су срце резимирања извештаја велике количине података. Такође можемо аутоматизовати процес стварања стожера помоћу ВБА кодирања. Они су важан део сваког извештаја или контролне табле, у Екцелу је лако створити табеле помоћу дугмета, али у ВБА морамо да напишемо неке кодове за аутоматизацију наше пивот табеле, пре Екцела 2007 и његових старијих верзија у ВБА нисмо морали креирајте кеш меморију за пивот табеле, али у програму Екцел 2010 и њеним новијим верзијама кеш меморија је обавезна.

ВБА може да уштеди тоне времена за нас на нашем радном месту, иако савладавање није тако лако, али вреди потрошити време да то научите. Требало ми је 6 месеци да разумем процес креирања пивот табела кроз ВБА. Знате шта ми је тих 6 месеци учинило чуда јер сам направио толико грешака покушавајући да направим стожерну табелу.

Али ствар је ствар што сам научио на својим грешкама и сада пишем овај чланак да бих вам показао како да креирате изведене табеле помоћу кода.

Само једним кликом на дугме можемо да креирамо извештаје.

Кораци за креирање изведене табеле у ВБА

Овај ВБА образац изведене табеле можете преузети овде - ВБА предложак изведене табеле

За стварање пивот табеле важно је имати податке. За ово сам створио неке лажне податке, можете преузети радну свеску да бисте ме пратили са истим подацима.

Корак 1:Изведена табела је објекат који упућује на то да изведена табела декларише променљиву као изведене табеле.

Шифра:

 Помоћна заокретна табела () Затамни заокретну таблицу као заокретну табелу на крају Под 

Корак 2:Пре него што креирамо пивот табелу прво треба да креирамо пивот кеш меморију да дефинишемо извор података.

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

За ово дефинишите променљиву ПивотЦацхе.

Шифра:

 Затамни ПЦацхе као ПивотЦацхе

Корак 3:Да бисте одредили основни опсег података, дефинишите променљиву као опсег.

Шифра:

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

Корак 4:Да бисмо убацили пивот табелу, потребан нам је посебан лист за додавање радног листа, а пивот табелу декларише променљиву као радни лист.

Шифра:

 Затамни ПСхеет као радни лист

Корак 5:Слично референци на податке који садрже радни лист, још једну променљиву декларишите као Радни лист.

Шифра:

 Затамни ДСхеет као радни лист

Корак 6: Коначно, да бисте пронашли последњи коришћени ред и колону, дефинишите још две променљиве као Лонг.

Шифра:

 Дим ЛР ас Лонг Дим ЛЦ Ас Лонг 

Корак 7: Сада треба да убацимо нови лист да бисмо креирали пивот табелу. Пре тога, ако постоји било који пивот лист, то морамо избрисати.

Корак 8: Сада поставите објектну променљиву ПСхеет и ДСхеет на Пивот Схеет и Дата Схеет респективно.

Корак 9: У листу са подацима пронађите последњи коришћени ред и последњу коришћену колону.

Корак 10: Сада подесите опсег закретања помоћу последњег реда и последње колоне.

Ово ће савршено подесити опсег података. Аутоматски ће одабрати опсег података чак и ако постоји било какво додавање или брисање података у листу са подацима.

Корак 11: Пре него што креирамо пивот табелу, треба да креирамо пивот кеш меморију. Подесите променљиву пивот кеш меморије помоћу доленаведеног ВБА кода.

Корак 12: Сада креирајте празну стожерну табелу.

Корак 13: Након уметања пивот табеле прво треба да убацимо поље реда. Зато ћу уметнути поље реда као моју колону Земља.

Белешка: Преузмите радну свеску да бисте разумели колоне података.

Корак 14: Сада ћу додати још једну ставку у поље реда као ставку на другој позицији. Уметнућу Производ као другу ставку у поље реда.

Корак 15: Након уметања колона у поље реда потребно је у поље вредности унети вредности. Убацићу „Сегмент“ у поље колоне.

Корак 16: Сада морамо да убацимо бројеве у поље података. Дакле, уметните „Продаја“ у поље података.

Корак 17: Завршили смо са резимеом табеле пивот табеле, сада морамо да форматирамо табелу. За форматирање пивот табеле користите доњи код.

Белешка: Да бисте имали више различитих стилова табела, снимите их макронаредбама и преузмите стилове табеле.

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

У реду, готови смо ако покренемо овај код помоћу тастера Ф5 или ручно, а требали бисмо добити овакву пивот табелу.

Као и ово помоћу ВБА кодирања, можемо аутоматизовати процес стварања стожера.

За вашу референцу дао сам доњи код.

 Потпуна заокретна табела () Затамни ПТабле као заокретна таблица Заниши ПЦацхе као заокретна кеш затамни ПРанге ас Ранге Дим ПСхеет Као радни лист Дим ДСхеет Ас Ворксхеет Дим ЛР Ас Лонг Дим ЛЦ Ас Лонг Он Еррор Ресуме Нект Апплицатион.ДисплаиАлертс = Фалсе Апплицатион.СцреенУпдатинг = Фалсе Ворксхеетс ("Пивот Схеет "). Делете 'Ово ће избрисати постојеће радне листове заокретне табеле. Додати након: = АцтивеСхеет' Додаће се нови радни лист АцтивеСхеет.Наме =" Изведени лист "'Овим ће се радни лист преименовати у" Пивот Схеет "у случају грешке ГоТо 0 Сет ПСхеет = Ворксхеетс ("Пивот Схеет") Сет ДСхеет = Ворксхеетс ("Дата Схеет") 'Финд Ласт усед ров анд цолумн ин дата схеет ЛР = ДСхеет.Целлс (Ровс.Цоунт, 1) .Енд (клУп) .Ров ЛЦ = ДСхеет.Целлс (1, Цолумнс.Цоунт) .Енд (клТоЛефт) .Цолумн 'Сет тхе пивот табле ранге ранге Сет ПРанге = ДСхеет.Целлс (1, 1) .Ресизе (ЛР, ЛЦ)' Сет пивот цахе Сет ПЦацхе = АцтивеВоркбоок.ПивотЦацхес.Цреате (клДатабасе, СоурцеДата: = ПРанге) 'Створи празну заокретну табелу Сет ПТабле = ПЦацхе.ЦреатеПивотТабле (ТаблеДестинатион: = ПСхеет.Целлс (1 , 1), ТаблеНаме: = "Репорт_Репорт") 'Уметни земљу у ред архивиран помоћу ПСхеет.ПивотТаблес ("Салес_Репорт"). ПивотФиелдс ("Цоунтри") .Ориентатион = клРовФиелд .Поситион = 1 Заврши са' Инсерт Продуцт то Ров Филед & позиција 2 са ПСхеет.ПивотТаблес ("Репорт_Репорт"). ПивотФиелдс ("Продуцт") .Ориентатион = клРовФиелд .Поситион = 2 Заврши са 'Инсерт Сегмент то Цолумн Филед & поситион 1 Витх ПСхеет.ПивотТаблес ("Репорт_Репорт"). ПивотФиелдс (" Сегмент ") .Ориентатион = клЦолумнФиелд .Поситион = 1 Енд Витх 'Уметни колону продаје у поље података ПСхеет.ПивотТаблес (" Репорт_Репорт "). ПивотФиелдс (" Салес ") .Ориентатион = клДатаФиелд .Поситион = 1 Енд витх' Формат Пивот Табела ПСхеет.ПивотТаблес ("Репорт_Репорт"). СховТаблеСтилеРовСтрипес = Труе ПСхеет.ПивотТаблес ("Салес_Репорт"). ТаблеСтиле2 = "ПивотСтилеМедиум14" 'Прикажи у табеларном облику ПСхеет.ПивотТаблес ("Салес_Репорт"). СцреенУпдатинг = Труе Енд Суб