【问题标题】:VBA code that clears filter on pivot table on exit of worksheet在工作表退出时清除数据透视表上的过滤器的 VBA 代码
【发布时间】:2019-06-12 21:11:07
【问题描述】:

我正在尝试在退出该工作表时清除数据透视表过滤器。

我用谷歌搜索并没有发现任何有效或类似于我正在尝试做的事情。

Private Sub Worksheet_deactivate()

    Call ClearFilter

End Sub

Sub ClearFilter()

' ClearFilter Macro

    ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[DIM Material Master].[Material Group].[Material Group]").ClearAllFilters
End Sub

运行时出现运行时错误 1004,无法获取 Worksheet 类的数据透视表属性。

【问题讨论】:

  • 如果您已停用工作表,则它不再是 ActiveSheet。将ActiveSheet 更改为数据透视表实际所在的工作表。
  • 谢谢 BigBen,我该如何调出这张单子?我对 vba 很陌生,主要使用宏。

标签: excel vba


【解决方案1】:

如果您已停用工作表,则它不再是 ActiveSheet。将 ActiveSheet 更改为 ThisWorkbook.Worksheets("yoursheetname") 以引用相关数据透视表所在的工作表。

另一种选择更简单一些:

Private Sub Worksheet_deactivate()

    Me.PivotTables("PivotTable1").PivotFields( _
        "[DIM Material Master].[Material Group].[Material Group]").ClearAllFilters

End Sub

【讨论】:

  • 很高兴为您提供帮助!
猜你喜欢
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
  • 2013-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多