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

Dav*_*ren 10 excel vba runtime-error range excel-vba

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

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

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

 End Sub
Run Code Online (Sandbox Code Playgroud)

小智 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
Run Code Online (Sandbox Code Playgroud)

这样您就可以在即时视图中列出所有名称。


ib1*_*b11 5

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