获取PivotItem的源范围

eyk*_*nal 5 excel vba ms-office excel-vba excel-2010

数据透视表允许您通过双击值"深入"到一组数据,或者右键单击字段并选择"显示详细信息":

在此输入图像描述

我的问题是,VBA(Office 2010)中是否有可以捕获此数据的方法?我通过对文档看PivotItem,PivotField,PivotTable,和PivotCache对象,但我没有看到任何会返回一个数据或现场电解槽底下详细数据.这可以一步完成吗?是否有多步骤过程可以执行此操作?

Dic*_*ika 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-表源数据-ii/ http://dailydoseofexcel.com/archives/2010/11/10/filter-pivot-table-source-data-calling-procedures/

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

Application.Evaluate(Application.ConvertFormula(pt.SourceData, xlR1C1, xlA1))
Run Code Online (Sandbox Code Playgroud)

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