我使用下面的简单代码在源表中的任何数据发生变化时自动刷新数据透视表,如果数据透视表和数据源位于不同的工作表上,则该代码正常工作。
Dim wb As Workbook
Dim ws As Worksheet
Dim pt As PivotTable
Set wb = ActiveWorkbook
For Each ws In wb.Sheets
For Each pt In ws.PivotTables
pt.PivotCache.Refresh
Next pt
Next ws
我本来可以使用简单的但我只想刷新数据透视表。
ActiveWorkbook.RefreshAll
我在 WorksheetChange 上使用它
Private Sub Worksheet_Change(ByVal Target As Range)
但是,如果数据透视表和源表位于同一张表上,我就会收到错误消息。
错误代码:-2147417848(80010108)对象“pivotcache”的方法“createpivottable”失败
有没有办法将源和数据透视表保存在同一张表中?
谢谢你,