当PageFilter设置为Visible = False时,我试图设置未显示的PivotItems的可见性 . 但我遇到了这样的问题 .

数据透视表如下所示:PivotTable Example

我要求将PageFilter设置为“1”后未出现的任何项目从我的代码的下一部分隐藏;它将遍历“耗材名称”下的(现在)可见项目 .

我只有这个:

Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

Set Pt = ActiveSheet.PivotTables("PivotTable1")
Set Pf = Pt.PivotFields("Consumable Name")

With Pt
    .PivotCache.Refresh
    .PivotCache.MissingItemsLimit = xlMissingItemsNone
End With

For Each Pi In Pf.VisibleItems
'Do Stuff

这当前忽略了已放置在VBA外部的表上的PageFilter,并且只是循环遍历数据透视表中没有过滤器的所有项目 .

我想我错过了一个事实,即我没有将PivotItems指定为Visible or Not,但不太确定如何去做!