Spis treści
Wdrażanie Makro VBA to najskuteczniejsza, najszybsza i najbezpieczniejsza metoda na przeprowadzenie dowolnej operacji w Excelu.W tym artykule pokażemy jak Odświeżenie tabeli przestawnej w Excelu za pomocą VBA.
Pobierz Workbook
Darmowy ćwiczeniowy zeszyt Excela można pobrać stąd.
Odświeżanie tabeli przestawnej za pomocą VBA.xlsm
5 Przykładów na odświeżenie tabeli przestawnej za pomocą VBA w Excelu
Poniżej znajduje się przykład naszej tabeli przestawnej, którą będziemy używać w całym artykule i pokażemy 5 różnych przykładów odświeżanie tabel przestawnych w Excelu z VBA kod.
1. VBA do odświeżenia jednej tabeli przestawnej w Excelu
Jeśli chcesz odświeżenie tylko jednej tabeli przestawnej w swoim arkuszu Excela, a następnie,
- Naciśnij Alt + F11 na klawiaturze lub przejdź do zakładki Programista -> Visual Basic otworzyć Edytor Visual Basic .
- W wyskakującym oknie kodu, na pasku menu, kliknij Insert -> Moduł .
- Skopiuj poniższy kod i wklej go do okna kodu.
Sub RefreshOnePivotTable() ActiveSheet.PivotTables("PivotTable1").RefreshTable End Sub
Twój kod jest teraz gotowy do uruchomienia.
Tutaj, Tabela przestawna1 to nasza nazwa tabeli przestawnej, piszesz nazwę, jaką ma Twoja tabela przestawna.
- Naciśnij F5 na klawiaturze lub z paska menu wybrać Run -> Run Sub/UserForm. Możesz też po prostu kliknąć na mała ikona Play na pasku podmenu, aby uruchomić makro.
To będzie odświeżenie tabeli przestawnej w istniejącym arkuszu Excela.
Czytaj więcej: Tabela przestawna nie odświeża się (5 problemów & rozwiązania)
2. Makro odświeżające wszystkie tabele przestawne w aktywnym arkuszu
Aby odświeżyć wszystkie tabele przestawne w aktywnym arkuszu , wykonaj poniższe kroki.
- W taki sam sposób jak poprzednio, otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
- W oknie kodu skopiuj poniższy kod i wklej go.
Sub RefreshActiveSheetPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveSheet.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub
Twój kod jest teraz gotowy do uruchomienia.
- Uruchom makro i wszystkie tabele przestawne w aktywnym arkuszu zostaną odświeżone.
Czytaj więcej: Jak odświeżyć wszystkie tabele przestawne w Excelu
3. kod VBA do odświeżania wszystkich tabel przestawnych w wielu skoroszytach
Jeśli chcesz odświeżenie wszystkich tabel przestawnych w wielu skoroszytach od razu z VBA kod wtedy kroki są:
- Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
- W oknie kodu skopiuj poniższy kod i wklej go.
Sub RefreshAllPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveWorkbook.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub
Twój kod jest teraz gotowy do uruchomienia.
- Uruchom kod i wszystkie tabele przestawne we wszystkich otwartych skoroszytach Excela zostaną odświeżone.
Pamiętaj aby zachować wszystkie zeszyty otwórz podczas uruchamiania tego kodu.
Podobne lektury
- Jak edytować tabelę przestawną w programie Excel (5 metod)
- Aktualizacja zakresu tabeli przestawnej (5 odpowiednich metod)
- 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 w swoim skoroszycie wiele tabel przestawnych, które używają tych samych danych, możesz odświeżenie tylko pamięci podręcznej tabeli przestawnej zamiast odświeżać cały czas aktualną tabelę przestawną. Odświeżenie pamięci podręcznej automatycznie wyczyści pamięć wszystkich tabel przestawnych korzystających z tego samego połączenia danych w pamięci podręcznej.
Kroki, które należy wykonać to,
- Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
- W oknie kodu skopiuj poniższy kod i wklej go.
Sub RefreshPivotTableCache() Dim PivotCache As PivotCache For Each PivotCache In ActiveWorkbook.PivotCache PivotCache.Refresh Next PivotCache End Sub
Twój kod jest teraz gotowy do uruchomienia.
- Uruchom kod i wszystkie pamięci podręczne tabeli przestawnej zostaną wyczyszczone.
Read More: Jak automatycznie odświeżyć tabelę przestawną bez VBA w programie Excel (3 inteligentne metody)
5. automatyczne odświeżanie tabeli przestawnej przy zmianie danych za pomocą makra VBA
Co zrobić, jeśli masz tabelę przestawną, która ma dużą ilość danych i wszystko, co chcesz, to zaktualizować kilka danych, mając całą tabelę nietkniętą.W Excelu można automatyczne odświeżanie tabeli przestawnej podczas aktualizacji danych za pomocą VBA .
- Otwórz Edytor Visual Basic od Deweloper.
- Po lewej stronie edytora znajdowałby się Projekt Eksplorator w którym znajdują się wszystkie nazwy arkuszy.
- W Projekt Eksplorator , kliknij dwukrotnie nazwę arkusza, w którym znajduje się tabela przestawna.
- Pojawi się okno kodu, w którym utworzymy makro zdarzenia. Wybierz Arkusz roboczy od Obiekt z listy rozwijanej po lewej stronie modułu kodu, co spowoduje dodanie Worksheet_SelectionChange Zdarzenie do modułu, w rzeczywistości nie jest nam potrzebne, więc usuniemy ten kawałek kodu później.
- Następnie kliknij na Procedura z listy rozwijanej i wybierz Zmiana To dodaje nowe zdarzenie na górze modułu kodu o nazwie Worksheet_Change Nasz kod zapiszemy tutaj tak usuń kod wygenerowany przez Worksheet_SelectionChange
- Teraz skopiuj następujący kod i wklej go do Worksheet_Change
Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("PivotTbl").PivotTables("PivotTable1").PivotCache.Refresh End Sub
Twój kod jest teraz gotowy do uruchomienia.
Tutaj, PivotTbl to nazwa arkusza w naszym skoroszycie Excela, a Tabela przestawna1 to nasza nazwa tabeli przestawnej. Piszesz nazwę, jaką ma Twój arkusz i tabela przestawna.
- Teraz za każdym razem, gdy zmienisz dane w oryginalnej tabeli danych w swoim arkuszu, dane w tabeli przestawnej zostaną automatycznie zaktualizowane.
Czytaj więcej: Jak automatycznie odświeżyć tabelę przestawną w Excelu
Wniosek
Ten artykuł pokazał, jak odświeżenie tabeli przestawnej w Excelu z VBA Mam nadzieję, że ten artykuł był dla Ciebie bardzo korzystny. Czuj się swobodnie, jeśli masz jakieś pytania dotyczące tematu.