VBA:列出数据透视表的组项
如何使用VBA获取数据透视表中的分组项列表 例如,从 我怎样才能得到它 布坎南VBA:列出数据透视表的组项,vba,pivot-table,Vba,Pivot Table,如何使用VBA获取数据透视表中的分组项列表 例如,从 我怎样才能得到它 布坎南 7/16/2009 7/23/2009 8/9/2009 等等 谢谢我一直想知道什么是ChildItems,当我看到你的问题时,我想到了 Sub GetGroupedItems() Dim pt As Excel.PivotTable Dim ptField As Excel.PivotField Dim ptItem As Excel.PivotItem Dim ptChildItem As Excel.Piv
- 7/16/2009
- 7/23/2009
- 8/9/2009
- 等等
谢谢我一直想知道什么是
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
我会得到正确数量的子项,有什么建议吗?谢谢我打赌这是因为在我的测试中,子项是可见的。他们是在你的案件中,还是你检查了未分组字段?我回到电脑前,我在前面的评论中猜测是错误的。无论原始未分组字段是否可见,此代码都适用于我。为了得到更好的答案,你应该进一步充实你的问题,以便有人能重复你所做的。@Douglancy我也遇到了同样的问题-Count
显示0和RecordCount
显示正确的数字。因此,上面的代码不打印任何内容,因为Count
为0。当您说子项对您可见时,您的意思是什么?如中所示,它们是否未被过滤?对不起,如果不清楚的话。如果有帮助的话,我可以给你发送一些我遇到的测试数据。谢谢是否有人发现显示0的ChildItems
?