Excel 使用VBA引用数据透视表数据
我试图列出透视表的行标签,但无法访问它们。它们不会显示为行标签,所以我不确定 示例:Excel 使用VBA引用数据透视表数据,excel,vba,reference,pivot-table,Excel,Vba,Reference,Pivot Table,我试图列出透视表的行标签,但无法访问它们。它们不会显示为行标签,所以我不确定 示例: Row Labels Sum of Resources ---------- ---------------- item 1 1 item 2 4 item 3 2 我希望能够访问item1、item2和item3 到目前为止,我拥有的代码如下所示,除了访问项1到3之外,它实现了我想要的功能: Dim item As
Row Labels Sum of Resources
---------- ----------------
item 1 1
item 2 4
item 3 2
我希望能够访问item1
、item2
和item3
到目前为止,我拥有的代码如下所示,除了访问项1到3之外,它实现了我想要的功能:
Dim item As Variant
For Each item In ActiveSheet.PivotTables("Pivot1"). _
PivotFields("Sum of Resource").DataRange
Debug.Print item;
Next item
直接引用单元格
除此之外,这并不是获得数据摘要的最佳方式,但您似乎已经下定决心,在没有更多关于您拥有什么以及您正在尝试做什么的信息的情况下,我只想知道为什么您不像任何其他单元格一样引用标签单元格
示例:
Row Labels Sum of Resources
---------- ----------------
item 1 1
item 2 4
item 3 2
- 在上面的示例中,
返回数据透视表的第一个标签=D2
A
GetPivotData
设置和功能
注意根据“对数据透视表引用使用GetPivotData函数”
(我的未选中)的设置(在选项中),具有上述示例的公式可能会以不同方式显示,但最终结果是相同的
单击图像以放大
- 中有关于
的更多信息GetPivotData
DataLabelRange
属性
还有其他几种引用数据透视表[任何]部分的方法,如果数据经常更改,有些方法比其他方法更可靠。另一种方法是使用DataLabelRange
属性
- 有关和中的
属性的详细信息DataLabelRange
'Get Row labels
For Each item In ActiveSheet.PivotTables("Pivot-Table").RowRange
If Not count = 0 And Not count = ActiveSheet.PivotTables("Pivot-Table").RowRange.count - 1 Then
Debug.Print item
End If
count = count + 1
Next item
此代码将打印忽略总计和行标签标题的所有行标签可能重复的:和/或。另请参阅,这里有一个很好的资源:以及关于的文档。欢迎访问!下面是一些提示链接,可以帮助您开始使用网站的发布指南。请参阅有关研究的详细信息和提示。包括一些背景信息是很有帮助的,因为通常有其他方法来完成任务。更快速但推荐的阅读:“以及。祝你好运我知道如何访问数据透视表范围,但我无法访问行标签。虽然解决方案可能位于类似/重复问题的链接(如上)中,但我很好奇您为什么要查看数据透视表标签,因为可能有更好的方法来完成您正在尝试的操作。例如,如果数据透视表按某个值的最多出现次数进行分组和排序,并且您希望列表中的前三名,则有一些基本工作表公式可以返回相同的值,而不依赖于对数据透视表的片状引用,该数据透视表的形状可能会意外更改。每个行标签都是我们部门的一个分支。我想找出哪个分支在资源中的价值最高,并根据这些价值列出分支。