У меня есть код VBA, который запускает запрос SQL, сбрасывает его в электронную таблицу Excel 2010 и обновляет 2 сводные таблицы на основе данных. У меня также есть 2 сводные диаграммы, основанные на сводных таблицах, и каждый раз, когда таблицы обновляются, форматирование на диаграммах теряется.
я следовал инструкциям в раздел 12.3 этой книги который предложил создать пользовательский тип диаграммы на основе моих предпочтений форматирования и применить его к диаграммам, которые я хочу должны оставаться отформатированы таким образом. Эти инструкции отлично работают if Я вручную изменяю данные, а затем вручную обновляю сводную таблицу-диаграммы остаются правильно отформатированными. Однако, когда я выполняю этот код:
For Each pt In NewSheet.PivotTables
pt.RefreshTable
Next
форматирование теряется сразу.
вот как данные выглядят раньше:
и мой тщательно пирога графики:
Как только я обновлю данные и обновлю таблицы:
вот что я получил:
опять же, применение пользовательского стиля диаграммы сохранит форматирование, если это будет сделано вручную, но выполнение кода VBA каким-то образом сбросит пользовательский тип диаграммы.