我有以下的pivottable:
Rowlables: - 存储 - OrderID - 文章
Columnlables: - 状态
价值标签: - 数量
在枢轴之上,我有 StoreGroup 的切片器。对于此示例,让我们说明每个商店都在 A 或 B 组中,并且我已将切片器设置为显示 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 的那些。
我的问题:如何知道订单是否隐藏?
答案 0 :(得分: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
此代码检查数据范围行是否隐藏