【问题标题】:Run Time Error 1004 'Unable to get the PivotFields property of the PivotTable class'运行时错误 1004 '无法获取数据透视表类的 PivotFields 属性'
【发布时间】:2013-06-30 01:35: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

为什么?

【问题讨论】:

  • 这意味着枢轴字段不称为“行标签”
  • 做到了......我猜我很愚蠢

标签: vba excel range runtime-error


【解决方案1】:

正如 JosieP 在 cmets 中所说,1004 错误意味着不存在这样的 object,即不存在这样的 pivot field,即所谓的“行标签”。

【讨论】:

    【解决方案2】:

    我可能会添加一个额外的答案(因为我没有找到任何答案):

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

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

    【讨论】:

    • 这正是我想要的!
    • 这个问题是在使用数据模型数据透视表时,数组加载了表名、字段名和字段
    猜你喜欢
    • 2019-12-31
    • 2016-12-21
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多