【发布时间】:2017-06-05 04:37:48
【问题描述】:
我正在用 Excel 编写我的 VBA 代码。第一个数据透视表由 VBA 生成并且运行良好。但是,我需要更多基于具有不同行或列项的相同数据源的数据透视表。我试图将第一个数据透视表复制到单元格 L8,但是粘贴后,新数据透视表中的数据消失了。当我手动刷新数据透视表时,数据再次出现。这是我的代码 -
wsPvtTbl.PivotTables("PivotTable1").TableRange2.Copy Destination:=wsPvtTbl.Range("L8")
有办法解决吗?谢谢。
*****更新*****
我厌倦了使用附加到不同按钮的以下代码来刷新数据透视表,它起作用了。我以为它会在同一个 sub 中工作,但我不确定为什么它只能单独工作?
ThisWorkbook.refreshall
【问题讨论】:
-
虽然这不应该是这种情况,但在复制数据透视表后使用 ThisWorkbook.RefreshAll 作为下一行。
-
@sktneer 谢谢。我添加了 ActiveWorkbook.RefreshAll 但是表格仍然保持不变。有任何想法吗?谢谢
-
粘贴后尝试清除新数据透视表的过滤器,即:wsPvtTbl.PivotTables("PivotTable2").ClearAllFilters
-
@RADO 谢谢。我把你的代码放进去后出现错误——“应用程序定义的或对象定义的错误”
-
我使用了一个虚构的名称“PivotTable2”。您需要将其替换为在“L8”中创建的新数据透视表的名称。