không cần bấm refresh mà vẫn tự động cập nhật trong bảng pivot table

Liên hệ QC

shushu1

Thành viên mới
Tham gia
1/10/11
Bài viết
8
Được thích
0
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 đỡ
Record macro thao tác Refresh Data bằng tay rồi xem code viết gì, chỉnh lại tí là được rồi
Chuyện quá nhỏ
 
Mình làm Không được . Bạn chỉ cho mình chi tiết chút được không
 
Không có file nên không biết giúp thế nạo Bạn copy đoạn code này xài thử nhé

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

PivotTables(1).PivotCache.Refresh

End Sub
 
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 đỡ
thông thường bạn chỉnh sửa dữ liệu ở 1 sheet sau đó xem bên kia , nên bạn thử dùng code này xem
PHP:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveWorkbook.RefreshAll
End Sub
 
Lần chỉnh sửa cuối:
không cần bấm refresh mà vẫn tự động cập nhật trong bảng pivottable

xin các bạn các anh chỉ dzum
 

File đính kèm

  • autoRefresh.xlsx
    17.5 KB · Đọc: 244
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.
 
Mình làm được rồi cám ơn bạn. Bạn cho mình hỏi
PivotTables(1).PivotCache.Refresh. PivotCache có nghĩa là gì vậy bạn
 
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
 
Phải lưu lại dạng xlsm hoặc xlsb mới được. Xlsx là mất hết code.
 
ah. Cám ơn bạn .Bạn ơi. Mình muốn tìm vùng pivoltable mà mình chọn trước đó thì phải làm sao hả bạn
 
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.
Vậy bạn có bik làm ntn mà ko cần data Refresh all không mà vẫn load dữ liệu mới được bình thường.
 
Hi Bạn

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
==========================================
 
Web KT
Back
Top Bottom