我正在尝试使用代码来选择数据透视表中一个子标题下的所有行。我收到运行时错误 1004:
无法获取数据透视表类的 PivotFields 属性
从这段代码:
Sub ttest()
Dim pt As PivotTable
Set pt = Sheets("Report").PivotTables("PivotTable1")
pt.PivotFields("Row Labels").PivotItems("CL").DataRange.Select
End Sub
为什么?
我正在尝试使用代码来选择数据透视表中一个子标题下的所有行。我收到运行时错误 1004:
无法获取数据透视表类的 PivotFields 属性
从这段代码:
Sub ttest()
Dim pt As PivotTable
Set pt = Sheets("Report").PivotTables("PivotTable1")
pt.PivotFields("Row Labels").PivotItems("CL").DataRange.Select
End Sub
为什么?
正如 JosieP 在评论中所说,1004错误意味着没有这样object的,即没有pivot field所谓的“行标签”。
我可能会添加一个额外的答案(因为我什么也没找到):
对于使用数据模型数据透视表的人来说,字段名称并不明显([ 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
这样,您将在即时视图中列出所有名称。