VBA数据透视表动态范围

时间:2019-03-06 21:18:18

标签: excel vba pivot-table

我正在尝试为数据透视表创建VBA代码,该数据透视表的行和列将来可能会更改。我使用了下面的代码,但是在设置ptable阶段遇到运行时错误1004。我还想在此处添加代码,如果存在则删除工作表“ Pivot”,然后创建一个新工作表,以便可以捕获所有数据。请您指教。

Dim Pivot As Worksheet
Dim pCache As PivotCache
Dim pTable As PivotTable
Dim lastRows As Long
Set Pivot = Worksheets.Add
Set pCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, Sheets("CJI Data").Range("A2").CurrentRegion.Address(ReferenceStyle:=xlR1C1))
Set pTable = pCache.CreatePivotTable(Pivot.Range("A1"))

谢谢, R

1 个答案:

答案 0 :(得分:0)

为什么需要.Address和R1C1?

Set PCache = ActiveWorkbook.PivotCaches.Create (xlDatabase, Sheets(“CJI Data”).Range(“A2”).CurrentRegion)

此外,如果数据扩展,则无需删除表,这就是为什么使用动态范围的原因。只需刷新表格即可。