我有一个 Excel 模板 (.xlt),其中包含一个用于报告数据的工作表,以及 4 个带有数据透视表的工作表。
当我们的报告系统创建报告并将模板应用到它时,数据透视表引用的某些字段不存在,因为运行宏来创建它们作为报告系统过程的一部分。
但是,由于这些字段不存在,Excel 会抛出错误(访问组件属性/方法时发生错误:REFRESH。参考无效。)。为了尝试防止这种情况,我取消了所有数据透视表上的选项Refresh data when opening the file
。
我知道我可以使用 VBA 刷新数据透视表,但是有没有办法防止数据透视表在打开文档网时刷新它们,而是在创建新字段后通过 VBA 刷新它们?谢谢。
Function UpdatePivots()
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable1").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable2").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable3").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable4").PivotCache.Refresh
End Function