VBA - Làm mới bảng tổng hợp / Tất cả các bảng tổng hợp

Hướng dẫn này sẽ trình bày cách Làm mới Bảng Pivot hoặc tất cả các bảng Pivot bằng VBA.

Bảng tổng hợp là một công cụ dữ liệu đặc biệt mạnh mẽ của Excel. Bảng tổng hợp cho phép chúng tôi phân tích và diễn giải một lượng lớn dữ liệu bằng cách nhóm và tóm tắt các trường và hàng.

Khi chúng tôi tạo bảng Pivot, dữ liệu được lưu trữ trong cái được gọi là bộ đệm ẩn bảng Pivot. Do đó, dữ liệu được lưu trữ trong bộ nhớ đệm của PC giúp tăng tốc bảng Pivot.

Nếu nguồn dữ liệu của bảng Pivot được cập nhật, thì bản thân bảng Pivot sẽ không được cập nhật. Người dùng trong Excel cần nhấp vào Làm mới tất cả trong tab Dữ liệu trên Ruy-băng để làm mới dữ liệu nguồn của Bảng Pivot.

Ngoài ra, chúng ta có thể viết macro trong VBA để cập nhật dữ liệu cho chúng ta!

Làm mới tất cả các kết nối dữ liệu

Phương pháp đơn giản nhất để làm mới dữ liệu là sử dụng VBA để bắt chước những gì Làm mới tất cả trên thanh Ribbon.

123 Sub RefreshConnections ()ActiveWorkbook.RefreshAllKết thúc Sub

Phương pháp này sẽ làm mới tất cả các kết nối đến bất kỳ dữ liệu nào trong sổ làm việc mà bạn đã kích hoạt. Nó cũng sẽ không chỉ làm mới một bảng Pivot mà sẽ làm mới nhiều bảng Pivot nếu bạn có nhiều bảng được kết nối với các tập dữ liệu khác nhau.

Làm mới tất cả Pivot Table

Để chỉ làm mới các bảng Pivot trong sổ làm việc của chúng tôi nhưng loại trừ bất kỳ kết nối dữ liệu nào khác, chúng tôi có thể sử dụng một phương pháp được gọi là RefreshTable.

Nếu chúng tôi có nhiều bảng Pivot trong sổ làm việc của mình, chúng tôi sẽ cần lặp qua tất cả các bảng Pivot để làm mới tất cả chúng. Để thực hiện việc này, trước tiên chúng ta khai báo một Biến bảng Pivot và sau đó tạo một Vòng lặp Cho Mỗi để lặp qua tất cả các bảng Pivot trong sổ làm việc Hoạt động.

123456 Sub RefreshPivotsOnly ()Làm mờ tblPivot dưới dạng PivotTableĐối với mỗi tblPivot Trong ActiveWorkbook.PivotTablestblPivot.RefreshTableTblPivot tiếp theoKết thúc Sub

Chúng tôi có thể sử dụng một macro tương tự để làm mới các bảng Pivot trong Bảng hoạt động thay vì toàn bộ sổ làm việc. Sau đó, chúng tôi sẽ lặp qua các bảng Pivot trong Bảng hoạt động hơn là ActiveWorkbook.

123456 Sub RefreshActiveSheetPivotsOnly ()Làm mờ tblPivot dưới dạng PivotTableĐối với mỗi tblPivot Trong ActiveSheet.PivotTablestblPivot.RefreshTableTblPivot tiếp theoKết thúc Sub

Macro này sẽ hữu ích nhất nếu chúng ta có thể dễ dàng truy cập vào nó trên Bảng hoạt động. Để làm được điều này, chúng ta có thể tạo một nút trên trang tính để chạy macro.

Làm mới một Bảng tổng hợp

Nếu chúng ta chỉ muốn làm mới bảng Pivot mà chúng ta đang làm việc chứ không phải tất cả các bảng Pivot khác trong sổ làm việc, chúng ta cần xác định bảng Pivot cụ thể. Điều này tất nhiên là miễn là bạn biết tên của bảng Pivot - trong trường hợp này PivotTable1.

123 Sub RefreshOneTableActiveSheet.PivotTables ("PivotTable1"). RefreshTableKết thúc Sub

Làm mới bộ nhớ đệm Pivot Table

Nếu chúng tôi có nhiều bảng Pivot trong sổ làm việc của mình, nhưng tất cả chúng đều sử dụng cùng một dữ liệu, chúng tôi có thể làm mới bộ đệm ẩn bảng Pivot thay vì làm mới bảng Pivot thực tế. Làm mới bộ đệm sau đó sẽ tự động làm mới tất cả các bảng Pivot đang sử dụng dữ liệu có trong bộ đệm.

123456 Sub RefreshCache ()Dim chPivot As PivotCacheĐối với mỗi chPivot Trong ActiveWorkbook.PivotCacheschPivot.RefreshChPivot tiếp theoKết thúc Sub
wave wave wave wave wave