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

时间:2013-07-02 15:35:29

标签: excel vba excel-vba range runtime-error

我真的不知道这个错误意味着什么......我正在尝试使用代码来选择数据透视表中某个子标题下的所有行。我得到一个运行时错误1004“无法获得数据透视表类的PivotFields属性”。这是代码:

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

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

 End Sub

2 个答案:

答案 0 :(得分:3)

正如JosieP在评论中所说,1004错误意味着没有这样的object,就是没有这样的pivot field被称为“行标签”。

答案 1 :(得分:1)

我可能会添加一个额外的答案(因为我对此一无所获):

对于使用数据模型数据透视表的人员,字段名并不明显([表名]。[字段名]。[ 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

这样,您将在即时视图中列出所有名称。