【问题标题】:Get source range for a PivotItem获取 PivotItem 的源范围
【发布时间】:2014-01-09 18:16:45
【问题描述】:

数据透视表允许您通过双击某个值或右键单击某个字段并选择“显示详细信息”来“向下钻取”一组数据:

我的问题是,VBA (Office 2010) 中是否有任何方法可以捕获这些数据?我查看了有关PivotItemPivotFieldPivotTablePivotCache 对象的文档,但我没有看到任何会在数据或字段单元格下返回详细数据的内容。这可以一步完成吗?是否有多个步骤可用于执行此操作?

【问题讨论】:

    标签: excel ms-office excel-2010 vba


    【解决方案1】:

    不,不幸的是答案。虽然您可以访问 PivotCache 对象,但不能以编程方式访问数据。但是,只要刷新了缓存,您就可以返回应该与缓存匹配的源数据。我写了一系列关于过滤源数据的帖子,因为我不喜欢 Excel 在您向下钻取时创建新工作表的方式。

    http://www.dailydoseofexcel.com/archives/2010/11/08/filter-pivot-table-source-data/ http://www.dailydoseofexcel.com/archives/2010/11/09/filter-pivot-table-source-data-ii/ http://dailydoseofexcel.com/archives/2010/11/10/filter-pivot-table-source-data-calling-procedures/

    最终我的实验在分组数据上失败了,尤其是日期。如果您没有分组数据或不适用于您的情况,您可以使用 Range 对象

    Application.Evaluate(Application.ConvertFormula(pt.SourceData, xlR1C1, xlA1))
    

    其中 pt 是数据透视表对象。

    【讨论】:

      猜你喜欢
      • 2013-01-08
      • 1970-01-01
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 2017-01-22
      • 1970-01-01
      相关资源
      最近更新 更多