【问题标题】:How to update pivot table whose source data gets updated by a macros?如何更新源数据由宏更新的数据透视表?
【发布时间】:2019-11-05 10:44:58
【问题描述】:

我有一个由数据透视图组成的仪表板。源数据通过宏进行更新。但是,当我刷新数据透视表的数据时,源数据表会减少到源文件的标题吗?有没有一种方法可以刷新这些数据透视表,而无需在每次通过运行宏更新源工作表时选择源数据?

【问题讨论】:

  • 您有权更新宏吗?
  • 代码会根据源文件的设置方式而有所不同(在 Excel 中的工作表上,没有其他内容,在工作表上的表格中,在与其他数据相同的工作表上等)。听起来您现有的代码可能正在尝试重新创建数据透视表而不是刷新。

标签: excel pivot-table dashboard pivot-chart


【解决方案1】:

如果您只需要刷新您的数据透视表,您可以仅出于这个原因添加一个新的子表。这是一个例子:

Sub RefreshPivotTable()

Dim ws As Worksheet 'Sheet containing the pivot table
Dim rng As Range 'top left cell of the pivot table
Dim pt As PivotTable

Set ws = Worksheets("Pivot Cohort")
Set rng = ws.Range("G1")
Set pt = rng.PivotTable

'~~> Refresh only this pivot table
pt.RefreshTable

'~~> Or Refresh all tables and queries in the active workbook
ActiveWorkbook.RefreshAll

'~~> Clear the variables from memory
Set ws = Nothing
Set rng = Nothing
Set pt = Nothing

End Sub

【讨论】:

    猜你喜欢
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多