Tuy nhiên, không có một phép thuật nào xảy ra ở đây cả, vì PivotTable được thiết kế nguyên bản… không có chức năng tự động cập nhật dữ liệu mới.
Do vậy, để cập nhật dữ liệu mới, bạn phải luôn tự làm bằng tay bằng cách bấm chuột phải vào PivotTable -> chọn Refresh.
Cách thứ hai bạn có thể dùng đến, mang một chút tự động, đó là sử dụng chức năng tự động refresh mỗi khi mở file của PivotTable. Cách này trông có vẻ tốt, nhưng chỉ đến khi bạn tắt file và mở lại. Còn nếu bạn không thực hiện hành động trên, PivotTable của bạn cũng sẽ “đứng im” với dữ liệu cũ.
Để thực hiện cách này, bạn có thể bấm chuột phải vào PivotTable -> PivotTable Options -> chọn thẻ Data -> chọn Refresh data when opening the file -> OK.
Để thực hiện cách này, bạn có thể bấm chuột phải vào PivotTable -> PivotTable Options -> chọn thẻ Data -> chọn Refresh data when opening the file -> OK.
Vì thực tế PiotTable không hỗ trợ, do đó, nếu bạn thật sự muốn PivotTable của bạn tự động refresh, bạn phải dùng VBA để can thiệp. Có rất nhiều cách để lập trình ra macro này, tùy theo tình huống bạn mong muốn. Tuy nhiên, với tình huống trong bài viết này, tôi sẽ chọn sự kiện Worksheet_Activate vì đa phần tất cả mọi người khi tạo PivotTable đều đặt PivotTable qua một sheet riêng, và do vậy, khi sử dụng sự kiện, dòng lệnh VBA của bạn sẽ tự kích hoạt mỗi khi bạn kích hoạt sheet này.
Code:
Private Sub Worksheet_Activate()
Dim pt As PivotTable
For Each pt In Me.PivotTables
pt.RefreshTable
Next pt
End Sub
Chỉ cần bạn đặt dòng lệnh này vào đúng sheet chứa PivotTable, ngay lập tức mỗi khi kích hoạt, PivotTable của bạn sẽ tự động cập nhật toàn bộ. Chẳng hạn như tôi vừa thêm dòng Đà Nẵng vào dữ liệu, và ngay khi tôi bấm lại sheet PV04 của mình, lập tức PivotTable sẽ tự động cập nhật.
This comment has been removed by the author.
ReplyDelete