Excel中数据透视表的条件刷新

Conditional Refresh of Pivot Table in Excel

提问人:Prmake 提问时间:12/12/2022 更新时间:12/12/2022 访问量:42

问:

我有一个 Excel 文件,其中包含“sheet1”中的数据集,每小时刷新一次。在“sheet2”上,我有 24 个数据透视表(和相应的图表),每小时一个。对于每个数据透视表(例如 15:00),我希望数据透视表在下载第 15 小时的数据后刷新。然后,它需要在 24 小时内保持不变(因为数据刷新会覆盖前一小时的所有数据),并在下载第二天第 15 小时的数据时再次更新。

因此,每小时,应刷新下一个数据透视表,而所有其他数据透视表保持不变,并在新的一天开始时从第一个数据透视表重新开始。

目前,我已经设置了它:

  • 在单元格 A1 中:以数字表示的最后数据的小时数(例如 15、16 等)

  • “sheet2”的 VBA 代码:

Private Sub Worksheet_Change(ByVal Target As Range)

If Workbooks("Filename").Sheets("sheet2").Range("A1") = 15 Then
    Application.EnableEvents = False
    Workbooks("Filename").Sheets("sheet2").PivotTables("Pivot1500").RefreshTable
    Application.EnableEvents = True

End If

End Sub

现在我只有第 15 小时的 VBA 代码来尝试一下。但不幸的是,这要么导致现在刷新数据透视表,刷新所有其他数据透视表,要么刷新数据透视表“Pivot1500”,即使下载了以下小时的数据并且单元格 A1 不再是 15。

关于如何做到这一点有什么建议吗?

Excel 透视

评论


答: 暂无答案