code xác định vùng dữ liệu cho pivot table bị lỗi (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ketoan113

Thành viên thường trực
Tham gia
10/3/07
Bài viết
209
Được thích
33
Em chào các anh chị.
Em có tham khảo trên mạng và dùng code để xác định vùng dữ liệu cho pivotchart nhưng bị báo lỗi (code này em dùng cho trường hợp khác dùng pivottable vẫn chạy được)
Em nhờ anh chị coi dùm code bị lỗi chỗ nào.
Em cảm ơn anh chị nhiều nhé.

1733360548491.png
 

File đính kèm

Em chào các anh chị.
Em có tham khảo trên mạng và dùng code để xác định vùng dữ liệu cho pivotchart nhưng bị báo lỗi (code này em dùng cho trường hợp khác dùng pivottable vẫn chạy được)
Em nhờ anh chị coi dùm code bị lỗi chỗ nào.
Em cảm ơn anh chị nhiều nhé.

View attachment 306081
Mình chạy thử thấy bình thường, không báo lỗi gì cả.
1733362280720.png
 
Anh chạy lại thử xem có bị lỗi không ? máy em chạy nó bị báo lỗi type 13.
Em cảm ơn anh.
Lỗi 13 là lỗi do một biến không khớp với kiểu dữ liệu của biến đó, nhưng mình chạy thử vài lần rồi, không thấy báo lỗi gì cả. Kết quả như trong hình bài #2 đó bạn.
 
Lỗi 13 là lỗi do một biến không khớp với kiểu dữ liệu của biến đó, nhưng mình chạy thử vài lần rồi, không thấy báo lỗi gì cả. Kết quả như trong hình bài #2 đó bạn.
Private Sub Worksheet_Activate()

On Error Resume Next

'dat ten cho mang

Lr = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row

ThisWorkbook.Names.Add Name:="data_SME", RefersTo:=Sheet1.Range("A2:AQ" & Lr)

PivotTables(1).PivotCache.Refresh

Dim pivotTable As pivotTable
Dim Range As Range, newRange As Range
Set Range = Sheet1.Range("A2:AQ10")
'Set pivotTable = Sheets("pivot").PivotTables("PivotTable1")

Set pivotTable = Sheet2.PivotTables("PivotTable1")

' Change the name of the sheets according to your sheet name for both newRange and pivot table
pivotTable.ChangePivotCache ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Range)

Set newRange = Sheet1.Range("data_SME")
' Change the name of the sheets according to your sheet name for both newRange and pivot table
pivotTable.ChangePivotCache ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=newRange)


End Sub

Anh coi dùm em code này với.
Nếu xoá dòng (xoá bớt dữ liệu) thì code chạy đúng, còn thêm dòng (thêm dữ liệu) thì code giữ nguyên không chọn thêm dòng mới.
(Anh có thể test thử).
Em cảm ơn anh. nha.
 
1/ Nên đưa code vào thẻ code
2/ Bạn kiểm tra lại dòng này:
Set Range = Sheet1.Range("A2:AQ10")
xem có phải thêm phần tìm dòng cuối không.
Mã:
Private Sub Worksheet_Activate()

On Error Resume Next

'dat ten cho mang

Lr = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row

ThisWorkbook.Names.Add Name:="data_SME", RefersTo:=Sheet1.Range("A2:AQ" & Lr)

PivotTables(1).PivotCache.Refresh

Dim pivotTable As pivotTable
Dim Range As Range, newRange As Range
Set Range = Sheet1.Range("A2:AQ10")
'Set pivotTable = Sheets("pivot").PivotTables("PivotTable1")

Set pivotTable = Sheet2.PivotTables("PivotTable1")

' Change the name of the sheets according to your sheet name for both newRange and pivot table
pivotTable.ChangePivotCache ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Range)

Set newRange = Sheet1.Range("data_SME")
' Change the name of the sheets according to your sheet name for both newRange and pivot table
pivotTable.ChangePivotCache ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=newRange)


End Sub

Em gửi anh nhé.
 
Web KT

Bài viết mới nhất

Back
Top Bottom