【发布时间】:2019-05-07 13:49:58
【问题描述】:
我有一个一年中一周的数据透视表报告过滤器,我希望能够选择最多特定数字的周。例如,过滤掉大于第 18 周的所有周。
我在下面有一些代码循环通过报告过滤器并取消选择比当前周大的所有周。但是,这需要几秒钟的时间才能运行,我更喜欢即时的东西(我也在尽可能地避免工作中的循环)。
我曾尝试使用 PivotFields.Add,但遇到了一系列运行时错误。这是可以在没有循环的情况下完成的吗?
Dim PvtTbl As PivotTable
Set PvtTbl = Worksheets("Pivot").PivotTables("PivotTable2")
PvtTbl.ClearAllFilters
PvtTbl.PivotFields("Week_Of_Year").PivotFields.Add Type:=xlValueIsLessThanOrEqualTo, Value1:=18
【问题讨论】:
-
具有讽刺意味的是,您不能将过滤器表达式添加到报表过滤器,只能添加到行/列字段。
-
@Rory 很好地解释了错误 - 谢谢!