Този урок ще покаже как да опресните обобщена таблица или всички обобщени таблици, използвайки VBA.
Обобщените таблици са изключително мощен инструмент за данни на Excel. Обобщените таблици ни позволяват да анализираме и интерпретираме големи количества данни чрез групиране и обобщаване на полета и редове.
Когато създаваме обобщена таблица, данните се съхраняват в така наречения кеш на обобщена таблица. Следователно данните се съхраняват в кеш паметта на компютъра, което ускорява обобщената таблица.
Ако източникът на данни на обобщената таблица се актуализира, самата обобщена таблица не се актуализира. Потребителят в Excel трябва да кликне върху Опресняване на всички бутон в раздела Данни на лентата, за да опресните изходните данни на обобщената таблица.
Като алтернатива можем да напишем макроси във VBA, които ще актуализират данните за нас!
Опреснете всички връзки за данни
Най -простият метод за опресняване на данните е да използвате VBA, за да имитирате това, което Опресняване на всички бутона прави на лентата.
123 | Sub RefreshConnections ()ActiveWorkbook.RefreshAllEnd Sub |
Този метод ще опресни всички връзки към всички данни в работната книга, които имате активни. Той също така не само ще опреснява една обобщена таблица, но ще опреснява множество обобщени таблици, ако имате повече от една свързана към различни набори от данни.
Опреснете всички обобщени таблици
За да опресним само обобщените таблици в нашата работна книга, но да изключим всякакви други връзки за данни, можем да използваме метод, наречен RefreshTable.
Ако имаме няколко обобщени таблици в работната си книга, ще трябва да преминем през всички обобщени таблици, за да ги опресним. За да направим това, първо декларираме променлива на обобщена таблица и след това създаваме за всеки цикъл, който да премине през всички обобщени таблици в активната работна книга.
123456 | Sub RefreshPivotsOnly ()Затъмнете tblPivot като обобщена таблицаЗа всеки tblPivot в ActiveWorkbook.PivotTablestblPivot.RefreshTableСледващ tblPivotEnd Sub |
Можем да използваме подобен макрос, за да опресним обобщените таблици в нашата Активен лист а не цялата работна книга. След това ще преминем през обобщените таблици в ActiveSheet а не ActiveWorkbook.
123456 | Sub RefreshActiveSheetPivotsOnly ()Затъмнете tblPivot като обобщена таблицаЗа всеки tblPivot в ActiveSheet.PivotTablestblPivot.RefreshTableСледващ tblPivotEnd Sub |
Този макрос би бил най -полезен, ако имаме лесен достъп до него на нашия ActiveSheet. За да направим това, можем да създадем бутон на листа за изпълнение на макроса.
Опреснете една обобщена таблица
Ако просто искаме да опресним обобщената таблица, върху която работим, а не всички останали обобщени таблици в работната книга, трябва да идентифицираме конкретната обобщена таблица. Това, разбира се, стига да знаете името на обобщената таблица - в този случай Обобщена таблица 1.
123 | Sub RefreshOneTableActiveSheet.PivotTables ("PivotTable1"). RefreshTableEnd Sub |
Опресняване на кеша на обобщената таблица
Ако имаме няколко обобщени таблици в работната си книга, но всички те използват едни и същи данни, можем да опресним кеша на обобщената таблица, вместо да опресняваме действителната обобщена таблица. Опресняването на кеша автоматично ще опресни всички обобщени таблици, които използват данните, съдържащи се в кеша.
123456 | Sub RefreshCache ()Затъмнете chPivot като PivotCacheЗа всеки chPivot в ActiveWorkbook.PivotCacheschPivot.ОпресняванеСледващ chPivotEnd Sub |