Jak odświeżyć wszystkie tabele przestawne za pomocą VBA (4 sposoby)

  • Udostępnij To
Hugh West

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.xlsm

4 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.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.