【问题标题】:VBA Pivot filter based on cell value基于单元格值的VBA枢轴过滤器
【发布时间】:2019-02-12 15:11:27
【问题描述】:

我正在尝试创建基于特定单元格值过滤数据透视表的子项。数据透视表放置在工作表“成本”上,表的名称也是“成本”。过滤器应基于的目标单元格位于工作表“仪表板”的单元格“D9”上。

一旦单元格 D9 的值发生变化,工作表成本上的过滤器也会发生变化。

下面的代码有问题,因为它什么都不做,我不知道问题出在哪里。请问你能帮帮我吗?下面的代码放在 Sheet3(Dashboard) 上。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim pt As PivotTable
Set pt = Worksheets("Costs").PivotTables("Costs")

If Target.Row = 9 And Target.Column = 4 Then
    pt.PivotFilters("ProjectID").CurrentPage = Worksheets("Dashboard").Range("D9").Value
End If

End Sub

非常感谢所有建议!

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    我认为正确的语法是

     pt.PivotFields("ProjectID").CurrentPage = Worksheets("Dashboard").Range("D9").Value
    

    清除之前的所有过滤器也是一个好主意

     pt.PivotFields("ProjectID").ClearAllFilters
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-31
      • 2018-08-26
      • 2017-07-13
      • 2022-12-07
      • 2012-05-23
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多