gpt4 book ai didi

Excel 从 OLAP 筛选器中获取检查值

转载 作者:行者123 更新时间:2023-12-04 20:27:43 25 4
gpt4 key购买 nike

我想从 OLAP 数据透视表中的过滤器中获取选中的项目。

我知道我可以使用以下代码获取该字段,但我无法弄清楚如何获取数据以及如何仅获取选中的项目。

Sub Button1_Click()

ActiveSheet.PivotTables("PivotTable1").PivotFields ("[PA Product].[Commodities].[Commodity Name]")

End Sub

enter image description here

最佳答案

您可以通过 PivotField.VisibleItemsList 获取 OLAP 过滤器的所有选中项.

如果选中“选择多个项目”并且未选中所有项目,则此数组仅包含值 - 在您的示例中就是这种情况。

所以你可以从这个简短的版本开始:

Private Sub GetVisibleItemsOfOLAPFilterVersion1()
Dim pt As PivotTable
Dim pf As PivotField
Dim i As Long

Set pt = ActiveSheet.PivotTables(1)
Set pf = pt.PageFields(1)
For i = LBound(pf.VisibleItemsList) To UBound(pf.VisibleItemsList)
Debug.Print pf.VisibleItemsList(i)
Next i
End Sub

以下详细版本显示了如何首先检查上述条件:
Private Sub GetVisibleItemsOfOLAPFilterVersion2()
Dim pt As PivotTable
Dim cf As CubeField
Dim pf As PivotField
Dim i As Long

Set pt = ActiveSheet.PivotTables(1)
For Each cf In pt.CubeFields
If cf.Orientation = xlPageField Then
If cf.EnableMultiplePageItems And Not cf.AllItemsVisible Then
For Each pf In cf.PivotFields
For i = LBound(pf.VisibleItemsList) To UBound(pf.VisibleItemsList)
Debug.Print pf.VisibleItemsList(i)
Next i
Next pf
End If
End If
Next cf
End Sub

关于Excel 从 OLAP 筛选器中获取检查值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56810711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com