PowerPivot 如何通过 VBA 代码删除列过滤器

PowerPivot how to remove column filter through VBA code

我有 PowerPivot table,我的一个宏在列上进行了过滤。 当我试图创建另一个清除过滤器的宏时,没有任何反应。 我使用了接下来的两个代码:

Private Sub Com3_click()
  ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[HVC_Sample].[Updated_task_status].[Updated_task_status]").VisibleItemsList = _
        Array("")
End Sub

并且:

Private Sub Com2_Click()

    ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[HVC_Sample].[Updated_task_status].[Updated_task_status]").VisibleItemsList = _
        Array("[HVC_Sample].[Updated_task_status].&[Completed]")
End Sub

他们两个都没有去掉,另外如果我手动去掉过滤器就去掉了。 知道如何修复代码吗? 谢谢!

使用ClearAllFilters方法:

Private Sub Com3_click()
  ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[HVC_Sample].[Updated_task_status].[Updated_task_status]").ClearAllFilters
End Sub

据推测,您选择的 table 正确:

Private Sub remove_filter()

    With ActiveSheet.PivotTables("PivotTable1")
        .ClearAllFilters
    End With

End Sub