对多个选择进行透视过滤并更新另一个透视过滤器以具有相同的多个选择

问题描述 投票:0回答:1

我有带有过滤器的“数据透视表1”,用户可以在其中选择多个选项。

我有“数据透视表2”,在同一张表中,具有相同的过滤器和相同的值。

当用户使用“数据透视表1”并在过滤器中选择一个、多个或所有值时,我想编写一些VBA,然后自动更新“数据透视表2”中的过滤器选择以匹配在过滤器中选择的“数据透视表1"。

我编写了下面的 VBA,它在仅选取一个值时有效,但我不确定如何在选取多个值时编写 VBA?

ActiveSheet.PivotTables("PivotTable2").PivotFields("Area").ClearAllFilters
ActiveSheet.PivotTables("PivotTable2").PivotFields("Area").CurrentPage = Range("Area_Picked").Value

Range("Area_Picked").Value 是我在工作表中创建的命名范围,它是“PivotTable1”的筛选器所在的单元格

excel vba pivot-table
1个回答
0
投票
  • 使用
    Visible
    过滤页面字段
Sub FilterPg()
    Dim pit As PivotItem
    Dim fl As PickerField
    Set fl = ActiveSheet.PivotTables("PivotTable2").PivotFields("Area")
    fl.ClearAllFilters
    For Each pit In fl.PivotItems
        pit.Visible = Not IsError(Application.Match(pit.Name, Range("Area_Picked"), 0))
    Next
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.