我正在使用Excel中的VBA代码。第一个数据透视表是由VBA生成的,效果很好。但是,我需要更多基于具有不同行或列项的相同数据源的数据透视表。我尝试将第一个数据透视表复制到单元格L8,但是粘贴后,新数据透视表中的数据会消失。当我手动刷新数据透视表时,数据会再次出现。这是我的代码 -
wsPvtTbl.PivotTables("PivotTable1").TableRange2.Copy Destination:=wsPvtTbl.Range("L8")
有没有办法解决?感谢。
*****更新*****
我厌倦了刷新数据透视表,并将以下代码附加到另一个按钮上,并且它有效。我以为它会在同一个子工作,但我不确定为什么它只能单独工作?
ThisWorkbook.refreshall
答案 0 :(得分:0)
也许你可以尝试这样的事情......
Sub CopyPivotTable()
Dim wsPvtTbl As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Set wsPvtTbl = ActiveSheet
wsPvtTbl.PivotTables("PivotTable1").TableRange2.Copy Destination:=wsPvtTbl.Range("L8")
For Each pt In wsPvtTbl.PivotTables
If pt.Name <> "PivotTable1" Then
For Each pf In pt.PivotFields
pf.ClearAllFilters
Next pf
End If
Next pt
End Sub