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

时间:2018-06-01 07:46:26

标签: excel excel-vba powerpivot vba

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

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

他们两个都没有删除它,另外如果我手动执行它,删除过滤器。 知道如何修复代码吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

使用ClearAllFilters方法:

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

答案 1 :(得分:1)

根据推定,您正在正确选择桌子:

Private Sub remove_filter()

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

End Sub