VBA AddDataField CubeFields - 错误 1004

标签 vba excel

我很难过……过去几个月一直在构建 PowerPivot 销售报告,并在此过程中自学 VBA 和 DAX。我的报告有几个可以通过 VBA 按钮选择的预配置 View ,在您关闭工作簿并重新打开它之前,它们完全可以正常工作。每次第一次打开工作簿时 - VBA 代码在第一行 AddDataField CubeFields 代码中出错。就好像 excel 没有预先计算我要添加的度量。

如果我在数据透视表中手动删除/添加一个值,然后运行 ​​VBA 代码,它将完美运行。如果我打开 PowerPivot 管理数据窗口然后关闭它,VBA 代码运行得非常好。关于手动更改数据透视表中的值或只是打开 PowerPivot 数据选项卡的某些操作会提示 Excel 预先计算所有度量。这是每次挂断的确切代码行:

Worksheets("Dealer Install Sales").PivotTables("PivotTable1").AddDataField Worksheets("Dealer Install Sales").PivotTables( _
"PivotTable1").CubeFields("[Measures].[Sum of INVOICE_QTY]"), _
"PIECES"

如何强制excel在打开工作簿时自动计算所有度量?

最佳答案

我认为可能发生的是此 joy-of-data 中描述的行为。博客文章。

换句话说,在数据透视表之外创建的数据透视表中使用的度量在某些情况下被“遗忘”。一种解决方案是在数据透视表字段列表中创建一个新度量(右键单击字段列表并添加度量),它只是引用原始度量,例如=[测量名称]。

在您的代码中,引用新的度量名称,当您这样做时,应该刺激数据模型返回原始度量的值,而不是跌倒。

关于VBA AddDataField CubeFields - 错误 1004,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50521545/

相关文章:

vba - 带有 vba 的数据透视表

vba - 在工作表vba中查找特定列标题的第1次、第2次、第3次和第4次出现

excel - 检查数组是否为空(vba excel)

vba - 将 excel 工作表导出为 PDF 运行时错误 '5' : Invalid procedure call or argument

vba - Powerpoint VBA - 将 RGB 颜色作为变量传递

vba - 返回所选单元格的背景颜色

Excel:运行时错误 '13' 类型不匹配

java - 如何用 Java 密码保护压缩的 Excel 文件?

Excel VLOOKUP 给出错误值

excel - SUMIF 函数与另一个单元格中的条件