Spis treści
W tym artykule pokażę Ci, jak możesz Odśwież wszystkie tabele przestawne swojego arkusza lub skoroszytu za pomocą VBA w programie Excel. Nauczysz się również odświeżenie pojedynczej tabeli przestawnej , jak również Tabela przestawna bufor.
Odświeżanie wszystkich tabel przestawnych za pomocą VBA w Excelu (szybki podgląd)
Dim Table As PivotTable For Each Table In ActiveWorkbook.PivotTables Table.RefreshTable Next Table
Spowoduje to odświeżenie wszystkich Tabele przestawne aktywnego skoroszytu.
Pobierz Zeszyt ćwiczeń
Pobierz ten zeszyt ćwiczeń, aby ćwiczyć podczas czytania tego artykułu.
Odświeżanie wszystkich tabel przestawnych.xlsm4 Sposoby na odświeżenie wszystkich tabel przestawnych za pomocą VBA w Excelu
A Tabela przestawna to specjalny rodzaj tabeli w arkuszu Excela, który zawiera dwie kategorie danych, zatytułowane Wiersz oraz Wartość odpowiednio.
Wszystkie kolumny tabeli są zaliczane do tych dwóch kategorii.
Jest on generowany automatycznie z zestawu danych, jeśli wybierzesz zestaw danych i przejdziesz do Wstaw> Tabela przestawna opcja na pasku narzędziowym programu Excel.
Dzisiaj naszym celem jest dowiedzieć się, jak możemy odświeżyć wszystkie Tabele przestawne arkusza lub skoroszytu z VBA w Excelu.
1. odświeżanie pojedynczej tabeli przestawnej w programie Excel
Najpierw nauczymy się odświeżać pojedynczy Tabela przestawna .
Aby odświeżyć pojedynczy Tabela przestawna , najpierw trzeba się do niego odnieść jako do PivotTable obiekt.
Następnie musisz użyć RefreshTable sposób VBA .
Tutaj mamy Tabela przestawna o nazwie Tabela przestawna1 w aktywnym arkuszu. (Kliknij tutaj, aby dowiedzieć się jak uzyskać nazwę tabeli przestawnej ).
Aby go odświeżyć, musimy użyć następujących linii kodu:
Dim Table1 As PivotTable Set Table1 = ActiveSheet.PivotTables("PivotTable1") Table1.RefreshTable
Uruchom kod, a odświeży on stronę Tabela przestawna o nazwie Tabela przestawna1 w aktywnym arkuszu.
Czytaj więcej: Jak automatycznie odświeżyć tabelę przestawną w programie Excel (2 metody)
2) Odświeżanie wszystkich tabel przestawnych w arkuszu w Excelu
Teraz odświeżymy wszystkie Tabele przestawne arkusza z VBA .
Aby odświeżyć wszystkie Tabele przestawne aktywnego arkusza, musisz iterować przez każdy Tabela przestawna z ActiveSheet.PivotTables Następnie należy użyć RefreshTable metoda.
Dim Table As PivotTable For Each Table In ActiveSheet.PivotTables Table.RefreshTable Next Table
Uruchom kod, a on odśwież wszystkie tabele przestawne aktywnego arkusza.
Czytaj więcej: Tabela przestawna nie odświeża się (5 problemów & rozwiązania)
3) Odświeżanie wszystkich tabel przestawnych w skoroszycie w Excelu
Możesz również odświeżyć wszystkie Tabele przestawne skoroszytu w programie Excel.
Aby odświeżyć wszystkie Tabele przestawne aktywnego skoroszytu, iterować po każdej tabeli według ActiveWorkbook.Tabele przestawne obiekt VBA Następnie należy użyć RefreshTable metoda.
Dim Table As PivotTable For Each Table In ActiveWorkbook.PivotTables Table.RefreshTable Next Table
Ten kod odświeży wszystkie Tabele przestawne aktywnego skoroszytu.
Czytaj więcej: Jak automatycznie aktualizować tabelę przestawną po zmianie danych źródłowych
4. odświeżanie pamięci podręcznej tabeli przestawnej za pomocą VBA w Excelu
Jeśli masz wiele Tabele przestawne w skoroszycie, które korzystają z tych samych danych, lepiej odświeżyć Pamięć podręczna tabeli przestawnej zamiast odświeżać Tabela przestawna .
Aby odświeżyć Pamięć podręczna tabeli przestawnej , iterować przez każdy Pamięć podręczna tabeli przestawnej aktywnego skoroszytu przez ActiveWorkbook.PivotCache obiekt.
Następnie należy użyć R efresh sposób VBA .
Dim Cache As PivotCache For Each Cache In ActiveWorkbook.PivotCaches Cache.Refresh Next Cache
Odświeży wszystkie Pamięć podręczna tabeli przestawnej z aktywnego skoroszytu.
Czytaj więcej: Jak automatycznie odświeżyć tabelę przestawną bez VBA w programie Excel (3 inteligentne metody)
Rzeczy do zapamiętania
Tutaj pokazaliśmy, aby odświeżyć Tabele przestawne tylko z aktywnego arkusza lub skoroszytu. Jeśli chcesz odświeżyć dane z arkusza lub skoroszytu, który nie jest aktywny, użyj nazwy arkusza lub skoroszytu zamiast znaku ActiveSheet lub ActiveWorkbook obiekt.
Na przykład, aby odświeżyć wszystkie Tabele przestawne z Plansza1. , zastosowanie For Each Table In Worksheets("Sheet1").PivotTables .
I odświeżyć się od Workbook1 , zastosowanie For Each Table In Workbooks("Workbook1").PivotTables .
Wniosek
Korzystając z tych metod, można odświeżyć wszystkie Tabele przestawne z arkusza lub skoroszytu z VBA w Excelu. Masz jakieś pytania? Zapytaj nas.