VBA:基于数组筛选电源数据透视表中的行



我有以下代码,我正在尝试根据某个公司列表过滤数据透视表ROWS。 我已经将这些公司名称加载到数组对等组中,我知道数组的长度。 My If 语句正确标识了在数据透视表中找到的数组中的哪些公司,但我无法弄清楚如何隐藏该值。

查看了其他线程,我发现最常见的答案是使用 .可见,但是当我尝试将其采用到我的代码中时,我收到运行时错误。 "无法设置数据透视项类的可见属性"。

Dim ct As Integer
Dim i As Integer
Dim PG_RRC_PVT As PivotTable
Dim pi As PivotItem

Set PG_RRC_PVT = Worksheets("Pivot4Charts").PivotTables("PGRRCPVT")
PG_RRC_PVT.PivotFields("[CoTicker].[CompanyMask].[CompanyMask]").ClearAllFilters

For Each pi In PG_RRC_PVT.PivotFields("[CoTicker].[CompanyMask].[CompanyMask]").PivotItems
    For i = 0 To pgCount
         If pi.Name = "[CoTicker].[CompanyMask].&[" & peerGroup(i) & "]" Then
            pi.Visible = False
         End If
    Next i
Next pi

在自己开车进去之后,我有成排的尺寸这一事实就是为什么.可见不起作用。处理 VisibleItemList 中的语法。您可以调整阵列...请参阅下面的代码

For i = 0 To pgCount - 1
    peerGroup(i) = "[CoTicker].[CompanyMask].&[" & peerGroup(i) & "]"
    MsgBox peerGroup(i)
Next
ActiveSheet.PivotTables("PGRRCPvt").PivotFields("[CoTicker].[CompanyMask].[CompanyMask]").VisibleItemsList = Array(peerGroup)

最新更新