【发布时间】:2015-12-04 00:45:01
【问题描述】:
如何通过.SourceName 选择数据透视表列?或者如何根据 ActiveCell.Column 获取 PivotTable 列的 SourceName?我需要类似的东西:
ActiveSheet.PivotTables(1).SourceName("MyColumn").Select
我需要它的原因是因为 pf.Caption 动态变化(即由于国家/地区设置),而 .SourceName 始终相同。
【问题讨论】:
-
类似
pt.PivotFields("Years").PivotItems("2004").DataRange.Select。 Jon Peltier 在引用数据透视表的不同部分上有一个很棒的页面。 peltiertech.com/referencing-pivot-table-ranges-in-vba -
使用 VBA PivotField 添加到具有默认 SUM 的表中。如果你有英文 Excel,那么它的名字(标题)是
Sum of MyColumn。另一个说 Transilvania 语言或(无论其他)的同一宏的用户将拥有Asdf of MyColumn。 Jon 的代码需要使用标题名称pt.PivotFields("Years").PivotItems("Sum of 2004").DataRange.Select。它适用于标题名称,而不适用于 SourceName。 -
可能基于 ActiveCell -
pt.PivotFields(ActiveCell.PivotItem.Caption).DataRange.Select。如果您在数据透视表(或 ActiveCell)中的单元格上添加 Watch 并查看 PivotCell、PivotField、PivotItem 和 PivotTable 的列表,您应该能够让它做您想做的事情。 -
如果我知道 SourceName 而我不知道 Caption 名称怎么办。有没有办法引用列?
标签: vba excel pivot-table