获取PivotItem的源范围

时间:2014-01-09 18:16:45

标签: excel-vba ms-office excel-2010 vba excel

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

enter image description here

我的问题是,VBA(Office 2010)中是否有可以捕获此数据的方法?我查看了PivotItemPivotFieldPivotTablePivotCache对象上的文档,但是我没有看到任何会返回详细数据的内容。数据或字段单元格。这可以一步完成吗?有没有多步骤过程可以做到这一点?

1 个答案:

答案 0 :(得分: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是数据透视表对象。