我正在为一些同事开发一个解决方案,并尝试尽可能多地自动化/简化。
我的同事有一个主表信息,通过复制/粘贴不断从外部来源添加。可以找到该表的一个示例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
答案 0 :(得分:0)
您可以使用我在Filtering pivot table with vba发布的非常全面的功能来执行此操作。该答案中的大量图像显示了它处理的各种事物,包括显示最近x天的数据。