PivotTable là công cụ mạnh mẽ trong Excel, giúp tạo báo cáo nhanh chóng, chính xác và tóm tắt thông tin hiệu quả. Tuy nhiên, PivotTable không tự động cập nhật khi dữ liệu nguồn thay đổi. Bài viết này hướng dẫn cách sử dụng VBA để tự động refresh PivotTable trong Excel, giúp bạn tiết kiệm thời gian và công sức.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách thiết lập lệnh VBA để tự động cập nhật dữ liệu trong PivotTable mỗi khi dữ liệu nguồn thay đổi.
Mô tả cập nhật PivotTable
Cập nhật PivotTable tự động với VBA
Ví dụ: Chúng ta có bảng dữ liệu sau:
Bảng dữ liệu ví dụ
Mục tiêu là thiết lập VBA để tự động refresh PivotTable mỗi khi dữ liệu trong vùng A1:C16 thay đổi.
Minh họa cập nhật PivotTable tự động
Các bước thực hiện
Dưới đây là các bước chi tiết để thực hiện:
Bước 1: Ghi lại Macro cho thao tác Refresh PivotTable
- Trong tab “Developer”, chọn “Record Macro”.
- Click chuột phải vào PivotTable, chọn “Refresh”.
- Dừng ghi Macro bằng cách nhấn nút “Stop Recording” trong tab “Developer”.
Đoạn Macro thu được sẽ như sau:
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
Lưu ý: “PivotTable1” là tên của PivotTable đã tạo. Bạn cần thay đổi tên này nếu PivotTable của bạn có tên khác.
Bước 2: Tạo sự kiện Worksheet_Change cho Sheet chứa dữ liệu gốc
- Mở cửa sổ VBA (Alt + F11).
- Double click vào sheet chứa dữ liệu gốc (ví dụ: Sheet1).
- Chọn sự kiện “Change” của Worksheet.
- Thêm đoạn mã VBA sau:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:C16")) Is Nothing Then
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
End If
End Sub
Lưu ý:
A1:C16
là vùng dữ liệu nguồn. Thay đổi vùng này nếu dữ liệu nguồn của bạn khác.- Đoạn mã trên sẽ refresh PivotTable mỗi khi có thay đổi trong vùng
A1:C16
.
Kiểm tra kết quả
Sau khi hoàn thành các bước trên, hãy kiểm tra bằng cách thay đổi dữ liệu trong bảng nguồn. PivotTable sẽ tự động cập nhật theo.
Kết luận
Việc sử dụng VBA để tự động cập nhật PivotTable giúp bạn tiết kiệm thời gian và đảm bảo báo cáo luôn chính xác. Hy vọng bài viết này hữu ích cho bạn. Bạn có thể tải file mẫu tại: http://bit.ly/2GVkNzF. Tìm hiểu thêm về VBA để nâng cao hiệu quả công việc với Excel.
Discussion about this post