运行时错误1004:“无法获取PivotTable类的PivotFields属性”

12

我正在尝试使用代码选择数据透视表中一个子标题下的所有行。但是,我收到了运行时错误1004:

无法获取数据透视表类的PivotFields属性

这是我的代码:

 Sub ttest()
 Dim pt As PivotTable
 Set pt = Sheets("Report").PivotTables("PivotTable1")

 pt.PivotFields("Row Labels").PivotItems("CL").DataRange.Select

 End Sub

为什么?


11
这意味着数据透视表中的行字段不叫做“行标签”。 - JosieP
搞定了...我猜这是我的愚蠢。 - David Van der Vieren
2个回答

8

我可以添加一个额外的答案(因为我没有找到相关内容):

对于使用数据模型透视表的人员来说,字段名称并不明显([ tablename ]。[ fieldname ]。[ fieldname2 ])。 因此,我建议使用以下循环来了解当前透视表中有哪些字段:

Dim pt As PivotTable
Dim pf As PivotField

Set pt = ActiveSheet.PivotTables(ptName)

For Each pf In pt.PivotFields
    Debug.Print pf.Name
Next

这样做,您将在当前视图中列出所有名称。

这正是我正在寻找的! - Manuel
1
问题在于使用数据模型透视表时,数组中加载了表名、字段名和字段。 - Manuel

5
正如JosieP在评论中所说,1004错误意味着没有这样的对象,也就是没有叫做“行标签”("Row Labels")的数据透视表字段

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接