运行时错误' 1004':无法获取数据透视表类的PivotFields属性

时间:2015-06-11 12:52:49

标签: vba excel-vba pivot-table powerpivot excel

我们有一个Excel-Workbook(2013),它在一个工作表中包含一些数据集,每个数据集都存储在一行中。在另一个工作表上,有一些数据透视表可以评估数据集。因为每个数据透视表都具有相同的筛选器,并且所选值应始终相同,所以只要将选择应用于一个数据透视表,就会将选择复制到其他数据透视表。  我们每年进行两次评估。这次发生错误:Run-time error '1004': unable to get the PivotFields property of the PivotTable class。对工作簿进行的唯一更改是添加行。我三重检查错别字。

我在更改数据透视表的"日期" -filter的选择时录制了一个宏。它产生以下代码:

    ActiveSheet.PivotTables("PivotTable2").PivotFields("Date").CurrentPage = _
    "(All)"
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Date")
    .PivotItems("11/30/2005").Visible = False
    .PivotItems("12/5/2005").Visible = False
    .PivotItems("12/8/2005").Visible = False
    .PivotItems("12/12/2005").Visible = False
    .PivotItems("12/15/2005").Visible = False
    .PivotItems("12/28/2005").Visible = False
    .PivotItems("12/30/2005").Visible = False
    .PivotItems("1/8/2014").Visible = True
    .PivotItems("2/5/2014").Visible = True
    .PivotItems("2/17/2014").Visible = True
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Date")
    .PivotItems("6/13/2014").Visible = True
    .PivotItems("9/16/2014").Visible = True
    .PivotItems("9/17/2014").Visible = True
    .PivotItems("10/10/2014").Visible = True
End With

当我尝试运行录制的宏时,第一行会出现与上面相同的运行时错误。在调试器中,访问ActiveSheet.PivotTables("PivotTable2")有效。 ActiveSheet.PivotTables("PivotTable2").PivotFields("Date")ActiveSheet.PivotTables("PivotTable2").PivotFields(1)ActiveSheet.PivotTables("PivotTable2").PivotFields都将1004 - 错误显示为值。

我对MSDN开发人员参考和一些论坛进行了一些研究,但我没有找到任何有用的信息。在调试器中,我没有找到以另一种方式访问​​数据透视表的方法。

如果有人能够解释错误发生的原因或者如何避免错误,我会非常高兴。

编辑: Excel崩溃几次后,工作簿无需进行任何有意更改(我怀疑它与我的PC有关,因为在另一台PC上发生了同样的错误)。我知道这听起来很奇怪,但确实发生了。由于我真的对解决方案感兴趣,所以我不会删除这个问题。

0 个答案:

没有答案