【发布时间】:2013-05-18 11:17:51
【问题描述】:
如何使用 VBA 获取数据透视表中的分组项目列表?
我怎样才能得到
布坎南
- 7/16/2009
- 7/23/2009
- 8/9/2009
- 等等。
谢谢
【问题讨论】:
标签: vba pivot-table
如何使用 VBA 获取数据透视表中的分组项目列表?
我怎样才能得到
布坎南
谢谢
【问题讨论】:
标签: vba pivot-table
我一直想知道ChildItems 是什么,当我看到你的问题时,我想到了...
Sub GetGroupedItems()
Dim pt As Excel.PivotTable
Dim ptField As Excel.PivotField
Dim ptItem As Excel.PivotItem
Dim ptChildItem As Excel.PivotItem
Set pt = ActiveSheet.PivotTables(1)
For Each ptField In pt.PivotFields
For Each ptItem In ptField.PivotItems
If ptItem.ChildItems.Count > 0 Then
Debug.Print ptItem.Name
For Each ptChildItem In ptItem.ChildItems
Debug.Print ptChildItem.Name
Next ptChildItem
End If
Next ptItem
Next ptField
End Sub
这会将任何分组项目及其子项目的名称打印到即时窗口。
【讨论】:
ptItem.ChildItems.Count 总是返回 0 ...。相反,如果我检查 ptItem.RecordCount 我得到正确数量的子项目有什么建议吗?谢谢
Count 显示 0 和 RecordCount 显示正确的数字。因此,上面的代码没有打印任何内容,因为Count 为 0。当您说子项对您可见时,您是什么意思?可见,因为它们没有被过滤?抱歉,如果不清楚。如果有帮助,我可以向您发送一些我遇到的测试数据。谢谢!
ChildItems 显示为 0 吗?