Excel 2013 - VBA AddDataFiled 1004 错误

Posted

技术标签:

【中文标题】Excel 2013 - VBA AddDataFiled 1004 错误【英文标题】:Excel 2013 - VBA AddDataFiled 1004 Error 【发布时间】:2016-04-19 12:10:39 【问题描述】:

这个很奇怪

我有一个通过 power pivot / OLAP 连接到数据源的数据透视表。 我创建了一个 vba 按钮来向数据透视的行部分添加一个字段但是当我运行时...

With ActiveSheet.PivotTables("PivotTable1")
 .AddDataField ActiveSheet.PivotTables( _
 "PivotTable1").CubeFields("[Measures].[Sum of Unique_Customers]"), "Unique Customers"
End With

我收到对象错误 1004 运行时错误 1004 应用程序定义或对象定义错误。

但是,如果我刷新数据透视/数据连接,则它可以正常工作。我已经制定了一种解决方法,以在每次打开工作簿时刷新枢轴,但我担心随着数据的增长,这将变得资源繁重。有谁知道错误发生的解决方案或原因?在刷新数据之前,vb 似乎无法识别该字段。有关信息,该字段是原始字段,而不是 MDX calc 或任何东西

非常感谢!

【问题讨论】:

我会不惜一切代价避免使用“ActiveSheet”。这可能会导致数据透视表出现范围问题。另外,您是否验证了数据透视表的名称? 非常感谢 - 我希望在我的代码中替换“ActiveSheet”。您的意思是给数据透视表一个正确的名称而不是“数据透视表!”?我也会试试这个:) 我厌倦了删除活动工作表并重命名我的枢轴,但我仍然收到错误:( Sheets("Summary").PivotTables("StatsSummary") 【参考方案1】:

您好,最终找到了一个很简单的解决方案——我的部分代码(来自旧版本)中有“On Error Resume Next”,我把它们拿出来,现在可以工作了:)

【讨论】:

以上是关于Excel 2013 - VBA AddDataFiled 1004 错误的主要内容,如果未能解决你的问题,请参考以下文章

excel2013使用vba代码提示未找到提供程序,改程序可能未正确安装怎么处理

通过 Access 2013 VBA 编辑后无法打开 Excel 2013 文件

Excel 2013 - VBA AddDataFiled 1004 错误

Access 2013 VBA 自动化 Excel 丢失窗口

在 Excel 2013 中使用 vba 插入电子邮件签名

2010(2013)Excel VBA中无限循环的控制突破