em muốn làm 1 bảng pivottable nhưng mỗi lần em thay đổi dữ liệu nguồn thì bảng pivottable không tự động cập nhật,em phải
bấm nút refresh thì mới cập nhật được. nhưng em không muốn sử dụng nut refresh mà vẫn tự động cập nhật được không. em có thường lên mạng tìm hiểu về VBA. có code autorefresh nhưng em làm không đươc. Xin nhờ các anh chi giúp đỡ
em muốn làm 1 bảng pivottable nhưng mỗi lần em thay đổi dữ liệu nguồn thì bảng pivottable không tự động cập nhật,em phải
bấm nút refresh thì mới cập nhật được. nhưng em không muốn sử dụng nut refresh mà vẫn tự động cập nhật được không. em có thường lên mạng tìm hiểu về VBA. có code autorefresh nhưng em làm không đươc. Xin nhờ các anh chi giúp đỡ
em muốn làm 1 bảng pivottable nhưng mỗi lần em thay đổi dữ liệu nguồn thì bảng pivottable không tự động cập nhật,em phải
bấm nút refresh thì mới cập nhật được. nhưng em không muốn sử dụng nut refresh mà vẫn tự động cập nhật được không. em có thường lên mạng tìm hiểu về VBA. có code autorefresh nhưng em làm không đươc. Xin nhờ các anh chi giúp đỡ
Nếu bạn diễn đạt đúng thì không cần đưa file lên làm gì.
Với cách làm pivot table thông thường thì tất cả các câu trả lời trên kia đều đã đáp ứng.
Thực tế cho thấy bạn làm pivot table với dữ liệu nguồn từ 3 sheet (multi consolidation ranges).
1. Vậy thì code dựa vào sự kiện change của chỉ 1 sheet không đủ, phải làm cho cả 3 sheet.
2. Code dựa vào worksheet_Activate nếu đặt vào sheet chứa Pivot cũng hoạt động với điều kiện Pivot table nằm trên 1 sheet riêng.
Đằng này Pivot của bạn lại đặt chung với 1 trong các sheet dữ liệu. Thế là: Nếu thay đổi dữ liệu trong 2 sheet kia, chạy qua sheet này xem, thì có refresh. Nhưng thay đổi dữ liệu tại chính sheet đó, thì phải chạy qua sheet khác rồi chạy về mới thấy thay đổi.
Tóm lại, để đơn giản nhất bạn cho Pivot table nằm trong 1 sheet riêng và viết code cho sheet này:
PHP:
Private Sub Worksheet_Activate()
PivotTables(1).PivotCache.Refresh
End Sub
Gởi Thương:
Sao lại hơi 1 tí là Refresh All? dùng câu lệnh này, Excel phải tính lại tất tần tật mọi công thức, chạy lại mọi query, kiểm tra mọi hyperlink, refresh mọi pivot table, ...
Mỗi lần chuyển sang sheet khác có mà ngồi chờ mòn mỏi. Lại còn Refresh toàn workbook nữa chứ! File 20 sheet hoặc 50 sheet thì ngồi chơi nhiều hơn ngồi làm.
Bạn ơi . Mình cám ơn bạn đã giúp mình. Nhưng khi mình đã làm thành công, mình save lại qua ngày hôm sau mình mở lên thì đoạn code trên mất đi. Làm cách nào cho đoạn code trên không mất đi không
Nếu bạn diễn đạt đúng thì không cần đưa file lên làm gì.
Với cách làm pivot table thông thường thì tất cả các câu trả lời trên kia đều đã đáp ứng.
Thực tế cho thấy bạn làm pivot table với dữ liệu nguồn từ 3 sheet (multi consolidation ranges).
1. Vậy thì code dựa vào sự kiện change của chỉ 1 sheet không đủ, phải làm cho cả 3 sheet.
2. Code dựa vào worksheet_Activate nếu đặt vào sheet chứa Pivot cũng hoạt động với điều kiện Pivot table nằm trên 1 sheet riêng.
Đằng này Pivot của bạn lại đặt chung với 1 trong các sheet dữ liệu. Thế là: Nếu thay đổi dữ liệu trong 2 sheet kia, chạy qua sheet này xem, thì có refresh. Nhưng thay đổi dữ liệu tại chính sheet đó, thì phải chạy qua sheet khác rồi chạy về mới thấy thay đổi.
Tóm lại, để đơn giản nhất bạn cho Pivot table nằm trong 1 sheet riêng và viết code cho sheet này:
PHP:
Private Sub Worksheet_Activate()
PivotTables(1).PivotCache.Refresh
End Sub
Gởi Thương:
Sao lại hơi 1 tí là Refresh All? dùng câu lệnh này, Excel phải tính lại tất tần tật mọi công thức, chạy lại mọi query, kiểm tra mọi hyperlink, refresh mọi pivot table, ...
Mỗi lần chuyển sang sheet khác có mà ngồi chờ mòn mỏi. Lại còn Refresh toàn workbook nữa chứ! File 20 sheet hoặc 50 sheet thì ngồi chơi nhiều hơn ngồi làm.
Bạn sư dụng đoạn code này vào sheet chứa pivot-table nhé. Mình sử dụng và thấy rất ok
==========================================
Private Sub PivotTables_Activate()
Private Sub Worksheet("Table2").PivotCache.Refresh
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
==========================================