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