Как сохранить форматирование на сводной диаграмме Excel 2010?

У меня есть код VBA, который запускает запрос SQL, сбрасывает его в электронную таблицу Excel 2010 и обновляет 2 сводные таблицы на основе данных. У меня также есть 2 сводные диаграммы, основанные на сводных таблицах, и каждый раз, когда таблицы обновляются, форматирование на диаграммах теряется.

я следовал инструкциям в раздел 12.3 этой книги который предложил создать пользовательский тип диаграммы на основе моих предпочтений форматирования и применить его к диаграммам, которые я хочу должны оставаться отформатированы таким образом. Эти инструкции отлично работают if Я вручную изменяю данные, а затем вручную обновляю сводную таблицу-диаграммы остаются правильно отформатированными. Однако, когда я выполняю этот код:

For Each pt In NewSheet.PivotTables
  pt.RefreshTable
Next

форматирование теряется сразу.

вот как данные выглядят раньше:

enter image description here

и мой тщательно пирога графики:

enter image description here

Как только я обновлю данные и обновлю таблицы:

enter image description here

вот что я получил:

enter image description here

опять же, применение пользовательского стиля диаграммы сохранит форматирование, если это будет сделано вручную, но выполнение кода VBA каким-то образом сбросит пользовательский тип диаграммы.

12
задан FreeMan
02.12.2022 11:30 Количество просмотров материала 2860
Распечатать страницу

1 ответ

чтобы сделать это без использования сводных диаграмм, все, что вам нужно, это динамический именованный диапазон и простая (если грубо отформатирована) диаграмма.

1) Создайте имя по формуле:Series_A=OFFSET(Sheet!B1,0,0,COUNT(A:A),1), где - Лист 1!B1 относится к вашей первой ячейке подсчета в сводной таблице (или любой другой ссылке, Если вам удобно со смещением) - Count (A:A) - ваш столбец с метками строк

2) создайте график(ы) с серией=Series_A (и любыми другими потребность.)

при обновлении сводных таблиц определенные имена будут ссылаться на расширяющиеся / сжимающиеся значения в столбце "метки строк" и возвращать только значения в столбце "количество". Не требуются столбцы 0, #N/A или вспомогательные столбцы.

1
отвечен dav 2022-12-03 19:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх