Excel: Каким образом можно создавать диаграммные группы?

У меня есть Chart содержащая две ChartGroup . Я никогда не делал этого намеренно, поэтому я не могу догадаться, что вызвало это. Может ли кто-нибудь дать все варианты (либо VBA, либо еще)?

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

PS: Недостатком этого является то, что у меня довольно много кода, который использует PlotOrder для идентификации Series . Когда имеется более одной ChartGroup , PlotOrder не является уникальным идентификатором Series в Chart (он уникален в ChartGroup ). В конечном итоге мне придется адаптировать мой код. Но пока я мог бы позаботиться о том, чтобы адаптировать мои диаграммы к одной ChartGroup , насколько это возможно. Есть ли простой способ переназначить ChartGroup Series ? (это сделало бы одну должность с двумя вопросами …)

Этот вопрос вытекает из

Excel: дублированный PlotOrder для двух серий на диаграмме

EDIT : Я перечисляю здесь некоторые интересные выводы (которые вращаются вокруг этой темы, но не отвечают на конкретный вопрос).

  1. Я нашел это на официальном сайте

    ChartGroups Collection : « Коллекция всех объектов ChartGroup в указанной диаграмме. Каждый объект ChartGroup представляет одну или несколько серий, построенных на диаграмме с одним и тем же форматом». Даже если я не нашел это явно заявленным, кажется, что каждый XlChartType ( тип Enumeration .ChartType для Series ), очевидно, будет связан с данным форматом, например, xlXYScatter с разбросом.

    Объект ChartGroup : « Представляет одну или несколько серий, построенных на диаграмме в том же формате ».

  2. Все Series в ChartGroup должны иметь одинаковый « формат ». Но обратное утверждение неверно: в Series ChartGroup можно иметь Series с одинаковым форматом. См. Пункт 3 и пример ниже.

  3. Из объекта ChartGroup : « Поскольку индексный номер для определенной группы диаграммы может измениться, если формат диаграммы, используемый для этой группы, будет изменен, может быть проще использовать один из методов ярлыков с названной группой диаграмм, чтобы вернуть определенную группу диаграмм. PieGroups метод возвращает коллекцию групп круговых диаграмм в диаграмме, метод LineGroups возвращает коллекцию групп линейных диаграмм и т. д. »Например, метод LineGroups .

    Это позволяет указать пункт 2: PieGroups вернут коллекцию ChartGroup s. Там может быть более одной такой ChartGroup , и все серии будут иметь формат Pie.

  4. Доступные методы ярлыков группы с указанными диаграммами для возврата определенной группы диаграмм не являются исчерпывающими. Например, нет метода XYScatterGroups .

В качестве примера пункта 2 у меня есть диаграмма со всеми сериями с форматом XYScatter. 5 доступных XlChartType s (с их числовыми значениями и описанием, в соответствии с перечислением XlChartType ) являются

 xlXYScatter -4169 Scatter. xlXYScatterSmooth 72 Scatter with Smoothed Lines. xlXYScatterSmoothNoMarkers 73 Scatter with Smoothed Lines and No Data Markers. xlXYScatterLines 74 Scatter with Lines. xlXYScatterLinesNoMarkers 75 Scatter with Lines and No Data Markers. 

На диаграмме есть 2 диаграммы, как показано в дампе (из пользовательского Sub)

 ChartObject 'Chart 36', no. series: 6 * ChartGroup, .Index: 1, no. series: 2 ** plot order: 1, type: -4169, chart: 'Chart 36', chart type: 73, no. points: 17 ** plot order: 2, type: -4169, chart: 'Chart 36', chart type: -4169, no. points: 17 * ChartGroup, .Index: 2, no. series: 4 ** plot order: 1, type: -4169, chart: 'Chart 36', chart type: 75, no. points: 2 ** plot order: 2, type: -4169, chart: 'Chart 36', chart type: -4169, no. points: 24 ** plot order: 3, type: -4169, chart: 'Chart 36', chart type: 75, no. points: 33 ** plot order: 4, type: -4169, chart: 'Chart 36', chart type: -4169, no. points: 5 

Обратите внимание, что в обеих ChartGroup есть серия типа xlXYScatter (-4169). Я мог бы изменить формат Series 2 ChartGroup 1 на любой из 5 типов, и он не изменил бы свою ChartGroup .

  • Excel - ярлыки диаграммы столбцов в процентах от максимальной бары
  • VBA - количество рядов значений ряда карт
  • Создание круговой диаграммы в python
  • Может ли Excel суммировать / объединять x количество точек данных и показывать среднее значение, а не показывать все данные?
  • C # Excel.Chart Проблема с осью оси диаграммы
  • C # Диаграмма оси Y2 настроить (как сделать это, как Excel)
  • Excel VBA Macro: установить исходные данные в виде отдельных столбцов
  • Как создать различные гистограммы с использованием одних и тех же данных на основе определенных критериев с использованием формул
  • Как получить изображение диаграммы Excel из javascript API Chart.getImage ()?
  • результат FusionCharts для файла excel
  • Настроить цифровую ось диаграммы Excel
  • Давайте будем гением компьютера.