使用Excel VBA错误地对数据透视表进行过滤

时间:2019-03-14 01:34:56

标签: excel vba

我使用记录宏在0到4之间过滤数据透视表“ PR to PO Days”字段标签过滤器。当我记录时,它可以正确过滤,仅显示1、2和4。但是当我运行宏时,它是未正确过滤,则始终显示不应该显示的24。 因为稍后我想修改编码,所以要在其中过滤的值是可变的(单元格中用户输入的数字)。

希望任何人都能获得帮助。谢谢!enter image description here

1 个答案:

答案 0 :(得分:2)

从“ 0”和“ 4”中删除引号,否则过滤器会将值视为 text 而不是 values 。在文本比较中,“ 24”介于“ 0”和“ 4”之间。

With ActiveSheet.PivotTables("PivotTableMacro4").PivotFields("PR to PO Days")
    .ClearAllFilters
    .PivotFilters.Add Type:=xlCaptionIsBetween, Value1:=0, Value2:=4
End With