У меня есть шаблон Excel (.xlt), который содержит рабочий лист для данных отчета и 4 рабочих листа со сводными таблицами.
Когда наша система отчетности создает отчет и применяет к нему шаблон, некоторые поля, на которые ссылаются сводные таблицы, не существуют, поскольку для их создания запускается макрос как часть процесса системы отчетности.
Однако, поскольку эти поля не существуют, Excel выдает ошибку (Произошла ошибка при доступе к свойству/методу компонента: ОБНОВИТЬ. Ссылка недействительна.). Чтобы попытаться предотвратить это, я отключил параметр во всех сводных таблицах для 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