【问题标题】:PivotItem.Visible seems always truePivotItem.Visible 似乎总是正确的
【发布时间】:2017-03-24 13:58:24
【问题描述】:

我有以下数据透视表:

Rowlables: - 店铺 - 订单号 - 文章

列: - 状态

价值标签: - 数量

在支点上方,我有一个用于 StoreGroup 的切片器。对于这个例子,让我们声明每个商店都在组 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,即使是 StoreGroup B 的那些。

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

【问题讨论】:

    标签: excel vba pivot pivot-table


    【解决方案1】:
    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
    

    此代码检查数据范围行是否隐藏

    【讨论】:

    • 请为您的答案添加解释。避免在没有适当描述的情况下发布仅代码的答案。
    猜你喜欢
    • 2017-02-10
    • 1970-01-01
    • 2022-11-22
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多