VBA选择枢纽报告过滤器中大于/小于数字的所有项目

时间:2019-05-07 13:49:58

标签: excel vba pivot

我有一个针对一年中某周的数据透视表报表过滤器,我希望能够选择不超过特定数字的周。例如,过滤掉大于第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

1 个答案:

答案 0 :(得分:0)

尽管您可能无法与过滤器选择中的字段进行交互,但仍然可以将过滤器直接应用于数据透视表中的列。读完您要查找的内容后,我认为这可能会让您到达那里。

PvtTbl.PivotFields("Week_of_Year").PivotFilters.Add Type:=xlCaptionIsLessThanOrEqualTo, Value1:=18