Фон:
У меня есть три листа в Excel.
- Сводная таблица с сводной таблицей, которая извлекает данные из # 2 ниже
- Таблица данных, которая извлекает данные из БД SQL Server.(Извлекает тип категории и значение в долларах)
- Лист, содержащий кнопку для обновления как данных, так и в идеале сводной таблицы.
Проблема: Когда я нажимаю на кнопку, таблица данных обновляется правильно, а сводная таблица - нет.Эта рабочая книга автоматически запускается в 5 часов утра и отправляет результаты людям в формате PDF, поэтому мне нужно найти способ обновить эту сводную таблицу перед созданием, отправкой и закрытием рабочей книги.
Что я пробовал: Во-первых, когда нажимается кнопка, она запускается:
ActiveWorkbook.RefreshAll
Application.CalculateFull
Она правильно обновляет таблицу данных, только не сводку.
У меня естьпробовал:
- Добавление следующих команд между двумя командами выше и после обеих безрезультатно:
Sheets("Summary").PivotTables("PivotTable6").PivotCache.Refresh
Sheets("Summary").PivotTables("PivotTable6").RefreshTable
- Я попытался выполнить обе эти командыдважды (спина к спине), например:
ActiveWorkbook.RefreshAll
Application.CalculateFull
ActiveWorkbook.RefreshAll
Application.CalculateFull
В надежде, что он получит данные при первом запуске и успешно обновит сводку во втором.Не сработало.
- Я пытался обмануть Excel, заставив его подумать, что я закрыл и снова открыл книгу, а затем повторно запустил обновления:
ThisWorkbook.Saved = True
Workbooks(1).Activate
ActiveWorkbook.RefreshAll
Application.CalculateFull
Причина, по которой я пыталсяэто потому, что после запуска книги (сводка не обновляется) я сохраняю и закрываю.Я снова открываю (поворот по-прежнему неверен, данные верны), я повторно запускаю (данные снова и снова верны), и теперь сводка верна.Так что я надеялся смоделировать это.
На данный момент я не могу думать ни о чем другом.Я нахожусь в точке, где я не думаю, что Excel может сделать это.Еще кое-что.Первоначально у нас были данные, поступающие непосредственно в сводную таблицу из БД SQL Server, но мы постоянно получали эти ошибки, поэтому собирались использовать другой подход:
- Удаленная часть:
/xl/pivotTables/pivotTable1.xml
часть.(Представление сводной таблицы) - Удаленная часть:
/xl/pivotTables/pivotTable5.xml
часть.(Сводная таблица) - Удаленные записи: Свойства рабочей книги из
/xl/workbook.xml
part (Workbook)
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<logFileName>error014800_01.xml</logFileName>
<summary>Errors were detected in file 'T:\Reports\RP\Archive\Historical Excel\01-11\RP_01-07-11.xlsm'</summary>
<removedParts summary="Following is a list of removed parts:">
<removedPart>Removed Part: /xl/pivotTables/pivotTable1.xml part. (PivotTable view)</removedPart>
<removedPart>Removed Part: /xl/pivotTables/pivotTable5.xml part. (PivotTable view)</removedPart>
</removedParts>
<removedRecords summary="Following is a list of removed records:">
<removedRecord>Removed Records: Workbook properties from /xl/workbook.xml part (Workbook)</removedRecord>
</removedRecords>
</recoveryLog>
Любая помощь очень ценится.