我有一个数据透视表“IncTrend”,带有2个过滤器。 两个我已经更名为“服务1”和“服务2”过滤器(他们原本当表从PowerPivot的创建都被称为服务)基于单元值的VBA数据透视表过滤器更改
在工作表中的A2我有命名服务验证列表的名称过滤器中的项目(它们完全匹配)。
我正在尝试编写一个VBA代码,它将读取A2中的“选项”,并将数据透视表过滤器“Service1”&“Service2”更改为与之匹配。
前提是我将有许多不同的数据透视表,其中包含我需要更改过滤器以匹配的不同数据透视表,但我甚至无法使用VBA获得更改。
我不断收到
无法获取数据透视表类
任何援助将不胜感激的透视字段属性。 这是数据透视表的SS。
我的代码是:
Sub Filter_Change()
Dim WS As Worksheet: Set WS = ActiveWorkbook.Worksheets("Main")
Dim PT1 As PivotTable: Set PT1 = WS.PivotTables("IncTrend")
Dim PF1 As PivotField: Set PF1 = PT1.PivotFields("[Inc Open].[Service].[Service]")
Dim Choice As String: Choice = Worksheets("Main").Range("A2").Value
With PF1
.ClearAllFilters
.CurrentPage = Choice
'.PivotFilters.Add Type:=xlCaptionEquals, Value1:=Choice
End With
End Sub
你确定你的'PivotField'名字的拼写方式“Service1”?之间没有空间或东西? –
我修改了它以确保它不会导致问题。我已编辑上面的代码,显示您的建议和我的更改。 – Fitzy