使用ole'搜索stackoverflow提供的,我找到了以下代码
Sub Change_Pivot_Source()
Dim pt As PivotTable
For Each pt In ActiveWorkbook.Worksheets("Funnel Data Pivots").PivotTables
pt.ChangePivotCache ActiveWorkbook.PivotCaches.Create _
(SourceType:=xlDatabase, SourceData:="Lead Data (Q1-Q2)")
Next pt
End Sub
其中"漏斗数据Pivots"是我的woorksheet包含我想要更新的所有数据透视图,以及"领先数据(Q1-Q2)"是我所有枢轴的数据源....每周数据源都被扩展(我们在底部输入数据行,保持其余的数据不变)......但这段代码无法渲染,说"参考无效" (在主要数据(Q1-Q2)行...我假设我是typod,所以我将工作表(和VBA中)的名称更改为更简单的文本......但它仍然失败。
所以
A)这是我想用来扩展数据透视表数据源的正确代码吗?
和
B)如果是,我如何调试它,如果它不是正确的代码,那是什么?
这是我原来的VBA功能,它更新了数据透视表,但没有更新数据源
Sub AllWorksheetPivots1()
Dim pt As PivotTable
For Each pt In ActiveSheet.PivotTables
pt.RefreshTable
Next pt
End Sub
谢谢你的时间!
答案 0 :(得分:0)
SourceData参数需要每个帮助一个Range对象,但看起来您正在为它提供一个工作表名称。我的经验是它实际上想要一个表示范围的字符串。所以你应该使用像
这样的东西SourceData:="Lead Data (Q1-Q2)!A1:D100"
但更好的是,如果你将数据作为一个表并基于你的数据表。然后,当您添加新行时,您的数据透视表将自动展开。