Excel 可见的数据透视项似乎总是正确的

Excel 可见的数据透视项似乎总是正确的,excel,vba,pivot,pivot-table,Excel,Vba,Pivot,Pivot Table,我有以下数据透视表: 行标签: -贮藏 -医嘱ID -文章 列标签: -地位 价值标签: -数量 在枢轴上方,我有一个用于存储组的切片器。在本例中,让我们说明每个存储都在组A或B中,并且我已将切片器设置为仅显示A。多个门店中不存在1个订单 在VBA中,我希望遍历所有剩余的订单。这是我的密码: Sub TEST() Dim pvt as PivotTable Set pvt = Sheets("Pivot").PivotTables("Orders") Dim pvf as Pivo

我有以下数据透视表:

行标签: -贮藏 -医嘱ID -文章

列标签: -地位

价值标签: -数量

在枢轴上方,我有一个用于存储组的切片器。在本例中,让我们说明每个存储都在组AB中,并且我已将切片器设置为仅显示A。多个门店中不存在1个订单

在VBA中,我希望遍历所有剩余的订单。这是我的密码:

Sub TEST()
  Dim pvt as PivotTable
  Set pvt = Sheets("Pivot").PivotTables("Orders")

  Dim pvf as PivotField
  Set pvf = pvt.PivotFields("OrderID")

  Dim pvi as PivotItem
  For Each pvi in pvf.PivotItems
    If pvi.Visible = True Then
      Debug.Print pvi.Value
    End if
  Next pvi
End Sub
当我运行这段代码时,所有现有的OrderID都会列出,即使是那些具有StoreGroupB的OrderID

我的问题:如何知道订单是否隐藏

Public Function ItemIsActive(pvtItem As PivotItem) As Boolean
    On Error GoTo ErrHandler
    ItemIsActive = Not pvtItem.DataRange.EntireRow.Hidden
Exit Function
ErrHandler:
    ItemIsActive = False
End Function

此代码检查datarange行是否隐藏

请在回答中添加解释。避免在没有正确描述的情况下只发布代码答案。