使用Excel更改数据透视表过滤器

时间:2018-05-01 10:55:31

标签: excel vba

我正在为一些同事开发一个解决方案,并尝试尽可能多地自动化/简化。

我的同事有一个主表信息,通过复制/粘贴不断从外部来源添加。可以找到该表的一个示例here

以上示例中的现有数据为黑色,新数据(红色)粘贴在其下方。该表位于名为“Data”

的工作表上

然后,在名为“Pivot”的单独工作表上,通过名为“摘要”的数据透视表汇总信息,看起来像this

我为我的同事设置了一个按钮,用新数据刷新数据透视表。

但是,我正在寻找一种方法来更改“摘要”数据透视表的过滤器更改,以仅显示最近添加的信息的信息。在上面的示例中,它将隐藏31/04/2018的订单并显示01/05/2018的订单。

我把下面的内容放在一起,但我不确定它是否明智。或者我如何在不将它们全部枚举的情况下将所有其他日期隐藏起来。

非常感谢任何帮助。

由于

Sub PivotUpdate()

Dim CurrDate As Date

Worksheets("Data").Activate
CurrDate = Cells(.Rows.Value, "A").End(xlUp).Row

Workbook.RefreshAll

Worksheets("Pivot").Activate
With ActiveSheet.PivotTables("Summary").PivotFields("Date")
    'Clear all other filter items
    PivotItems(CurrDate).Visible = True
End With

End Sub

1 个答案:

答案 0 :(得分:0)

您可以使用我在Filtering pivot table with vba发布的非常全面的功能来执行此操作。该答案中的大量图像显示了它处理的各种事物,包括显示最近x天的数据。