Excel 使用 VBA 遍历嵌套的数据透视表行字段

Posted

技术标签:

【中文标题】Excel 使用 VBA 遍历嵌套的数据透视表行字段【英文标题】:Excel iterate through nested pivot table rowfields with VBA 【发布时间】:2012-12-17 22:36:18 【问题描述】:

我有一个数据透视表,我需要遍历嵌套的 RowFields:

如何解析嵌套的 RowFields?

到目前为止我的代码是:

Sub PtRead()
    Dim i As Integer, j As Integer
    Dim Sh As Worksheet
    Dim pt As PivotTable
    Dim rngRow As Range

    Set Sh = Sheets("Store")
    Set pt = Sh.PivotTables(1)

    i = 3
    For j = 1 To pt.RowFields(i).PivotItems.Count
        Debug.Print pt.RowFields(i).PivotItems(j)
    Next

End Sub

例如,我需要检索与品牌“AAA”相关的所有嵌套文章代码以及相关的 Nsum 值,例如(这不起作用..):

...    
pt.RowFields(1).PivotItems(1).RowFields(2).PivotItems(j)
...

【问题讨论】:

【参考方案1】:

我认为您想循环浏览枢轴项。查看下面的代码以获取有关如何继续的一些指导。

Sub TryMe()

For Each Pi In ActiveSheet.PivotTables("PivotTable1").PivotFields("DeptHead").PivotItems
    If Pi.Visible Then
        Count = Count + 1
        Range("B" & Count).Value = Pi.Name
        Row = Row + 1
    End If
Next Pi

End Sub

如果您遇到问题,宏记录器会非常有用。

【讨论】:

以上是关于Excel 使用 VBA 遍历嵌套的数据透视表行字段的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 过滤 Excel 数据透视表

用于将数据粘贴到新表行中的 VBA 宏 - Excel

如何使用 vba 从具有多个数据字段的 excel 数据透视表中删除小计

Excel 2007 VBA - 数据透视表字段列表???产生错误

带有 VBA Excel 的 SQL 数据透视函数文本文件数据库

新手向EXCEL高人请教关于VBA和数据透视图的问题,愿不吝赐教的学生先在这里给您道声:谢谢了.请留下您的Q...