复制的数据透视表上缺少VBA数据

时间:2017-06-05 04:37:48

标签: excel vba excel-vba

我正在使用Excel中的VBA代码。第一个数据透视表是由VBA生成的,效果很好。但是,我需要更多基于具有不同行或列项的相同数据源的数据透视表。我尝试将第一个数据透视表复制到单元格L8,但是粘贴后,新数据透视表中的数据会消失。当我手动刷新数据透视表时,数据会再次出现。这是我的代码 -

wsPvtTbl.PivotTables("PivotTable1").TableRange2.Copy Destination:=wsPvtTbl.Range("L8")

这是第二个数据透视表的屏幕截图 enter image description here

有没有办法解决?感谢。

*****更新*****

我厌倦了刷新数据透视表,并将以下代码附加到另一个按钮上,并且它有效。我以为它会在同一个子工作,但我不确定为什么它只能单独工作?

ThisWorkbook.refreshall

1 个答案:

答案 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