数据透视表-ClearManualFilter

时间:2018-09-04 13:24:58

标签: excel vba filter pivot-table

我对数据透视表有问题。 首先,我设置了过滤器(例如如下所示),以便从我的PivotTable_1和Graph中隐藏小于零的值。

    ActiveSheet.PivotTables("PivotTable_1").PivotFields( _
    "Value_XXX").PivotFilters.Add2 Type:=xlValueIsGreaterThan, DataField _
    :=ActiveSheet.PivotTables("PivotTable_1").PivotFields( _
    "Value (2018)"), Value1:=0

但是当我重置SlicerCaches / Filter(使用一次单击)时(在VBA中,下面的代码),filter忘记了我以前的设置(Value_XXX> 0)。

ActiveWorkbook.SlicerCaches("Value_XXX").ClearManualFilter

我尝试通过下面的代码修复它,但它会导致无限循环

 Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
If Target.Name = "PivotTable_1" Then
'MsgBox ("Hello")

    ActiveSheet.PivotTables("PivotTable_1").PivotFields("Value_XXX"). _
        PivotFilters.Add2 Type:=xlValueIsGreaterThan, DataField:=ActiveSheet. _
        PivotTables("Kontingenčná tabuľka1").PivotFields("Value (2018)"), _
        Value1:=0
End If
End Sub

有解决方案吗?非常感谢:)

0 个答案:

没有答案