Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 运行时错误';1004';:无法获取数据透视表类的PivotFields属性_Vba_Excel_Pivot Table_Powerpivot - Fatal编程技术网

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

Vba 运行时错误';1004';:无法获取数据透视表类的PivotFields属性,vba,excel,pivot-table,powerpivot,Vba,Excel,Pivot Table,Powerpivot,我们有一个Excel工作簿(2013),其中包含一些数据集,每个数据集存储在一行中。在另一张表中,有一些数据透视表用于评估数据集。因为每个数据透视表都有相同的筛选器,并且选定的值应该始终相同,所以一旦将选定内容应用于一个数据透视表,就会将其复制到其他数据透视表。 我们大约每年进行两次评估。这次发生错误:运行时错误“1004”:无法获取数据透视表类的数据透视字段属性。对工作簿所做的唯一更改是添加行。我检查了三遍是否有打字错误 我在更改数据透视表“日期”过滤器的选择时录制了一个宏。它生成以下代码:

我们有一个Excel工作簿(2013),其中包含一些数据集,每个数据集存储在一行中。在另一张表中,有一些数据透视表用于评估数据集。因为每个数据透视表都有相同的筛选器,并且选定的值应该始终相同,所以一旦将选定内容应用于一个数据透视表,就会将其复制到其他数据透视表。 我们大约每年进行两次评估。这次发生错误:
运行时错误“1004”:无法获取数据透视表类的数据透视字段属性
。对工作簿所做的唯一更改是添加行。我检查了三遍是否有打字错误

我在更改数据透视表“日期”过滤器的选择时录制了一个宏。它生成以下代码:

    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”)
有效<代码>活动表。数据透视表(“数据透视表2”)。数据透视字段(“日期”),
活动表。数据透视表(“数据透视表2”)。数据透视字段(1)
活动表。数据透视表(“数据透视表2”)。数据透视字段
都将
1004
-错误显示为值

我对MSDN开发者参考资料和一些论坛做了一些研究,但没有发现任何有用的东西。在调试器中,我没有找到以其他方式访问数据透视字段的方法

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


编辑:Excel崩溃几次后,工作簿可以正常工作,没有任何人为更改(我怀疑它与我的电脑有关,因为另一台电脑上也发生了相同的错误)。我知道这听起来很奇怪,但它确实发生了。因为我真的对解决方案感兴趣,所以我不会删除这个问题。

您同时使用“数据”和“日期”字段名称,您的源表中是否都有它们?在发布之前,我忘了将第二个“数据”更改为“日期”。我试图把这个问题中所有的德语都去掉;-)。我编辑了这个问题,谢谢你,由于
1004
错误,你的代码停在哪一行?我认为你的错误表明字段名有问题-PT filter部分没有
Date
字段,或者实际上字段名不同。上面@KazimierzJawor的评论解决了我的问题:-),字段名有问题,字段名更正后,pivot工作正常,谢谢。。