每次切片器更新时刷新表中的过滤器

每次切片器更新时刷新表中的过滤器

我有一张带有切片器的工作表,这些切片器引用了另一张工作表上的一个数据透视表。在我的带有切片器的工作表上,它们更新了引用该数据透视表的表格。

问题是,当我更改数据透视表以获取新信息时,它会过滤掉范围内的所有空白行。每次我在数据透视表中切换某些内容时,我都需要重新应用它,以确保我始终显示最新数据。

这是我尝试过的多种格式但似乎没有什么效果:

Private Sub Worksheet_Change(ByVal Target As Range) 
If Target.Column = 5 Then
    ActiveSheet.AutoFilter.ApplyFilter
End If 
End Sub

答案1

以下示例代码将帮助您在切片器更新时过滤数据透视表。

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

 Dim Sheet as WorkSheet, Pivot as PivotTable

 If ActiveWorkbook.SlicerCaches("Region").SlicerItems("East").Selected = True Then

   For Each Sheet in ThisWorkbook.WorkSheets
     For Each Pivot in Sheet.PivotTables
     Pivot.RefreshTable
     Pivot.Update
     Next
   Next

End Sub

注意:我已经假设了切片器缓存和项目名称,您需要根据您的值对两者进行修改。

我确实希望这对你有帮助。

相关内容