excel - 获取 PivotItem 的源范围

标签 excel ms-office excel-2010 vba

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

enter image description here

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

最佳答案

不幸的是,答案是不。虽然您可以访问 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 是数据透视表对象。

关于excel - 获取 PivotItem 的源范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028041/

相关文章:

vba - 如何根据工作表的代号设置工作表对象?

c# - .NET 部署 Office 2003 可再发行主互操作程序集 (o2003pia.msi)

excel - 如何在 Excel 2010 中使用 VBA 找到一行中最后一个彩色和空单元格?

c# - 如何创建读取自定义数据的 Excel 加载项?

mysql - 使用 VBA 在 Excel 中使用 SQL 样式查询

java - 检查powerpoint是否已经在Java中打开?

svg - 使用 Microsoft Office 2010 PIA 将 PPT 转换为 SVG

excel - 将计算的日期值复制为真实日期

vba - VSTO 加载项迁移到 Office 365

excel - 仅选择包含两列之间数据的单元格