0

这是我经常遇到的一个场景 - 并且解决它而不是尝试解决它。

我有一个包含以下工作表的控制工作簿

在此处输入图像描述

工作簿中有一个命名范围“myData”,它是工作表“Data”中的数据。

获取数据并将其VBA粘贴到“数据”中,然后重命名范围,然后刷新使用命名范围作为其源的数据透视表。然后例程将工作表复制Array("Pivot", "Data", "notes")到一个新的工作簿中,该工作簿被保存在不同的位置作为“NewWorkbook.xlsx”

现在,如果我打开 NewWorkbook 并查看枢轴的数据源,它指的是原始控制工作簿。

是否有一种简单的方法可以确保枢轴引用新工作簿中的数据?我不应该使用命名范围吗?

4

2 回答 2

1

您需要更新数据透视缓存的源数据

Sheets(Array("Data", "Pivot", "notes")).Copy
With ActiveWorkbook.Sheets("Pivot").PivotTables(1)
    .PivotCache.SourceData = "myData"
    .RefreshTable
End With

例如

于 2013-06-04T09:32:04.980 回答
1

您还可以单击数据透视表选项卡并使用“更改源”按钮从那里重定向它的源,然后也刷新。在此处输入图像描述

希望这可以帮助。

于 2013-06-04T14:04:30.173 回答