我的Chart
包含两个ChartGroup
个。我从来没有故意这样做,所以我猜不出是什么导致了这一点。任何人都可以提供所有选项(VBA或其他)吗?
如果我知道可能导致这种行为的可能行为,我可以了解并控制/避免它们。
PS:这方面的缺点是我有相当多的代码使用PlotOrder
来识别Series
。当有多个ChartGroup
时,PlotOrder
不是Series
中Chart
的唯一标识符(在ChartGroup
内是唯一的)。从长远来看,无论如何,我将不得不调整我的代码。但就目前而言,我可以尽量使我的图表适应单ChartGroup
。是否有一种简单的方法可以重新分配ChartGroup
的{{1}}? (这会产生一个有两个问题的帖子......)
这个问题起源于
Excel: Duplicated PlotOrder for two Series in a Chart
编辑:我在这里列出了一些有趣的发现(围绕这个主题,但不回答具体问题)。
我在官方网站上发现了这个
ChartGroups Collection:“指定图表中所有ChartGroup对象的集合。每个ChartGroup对象表示在图表中以相同格式绘制的一个或多个系列。”
即使我没有明确说明,但似乎每个Series
(XlChartType
Enumeration
类型的.ChartType
}显然与给定格式相关联,例如,Series
有分散。
ChartGroup Object:“表示在图表中以相同格式绘制的一个或多个系列。”
xlXYScatter
中的所有Series
都应具有相同的“格式”。但反过来却不正确:在ChartGroup
s中,Series
可能具有相同的格式。见第3点和下面的例子。
来自ChartGroup Object: “因为如果更改了用于该组的图表格式,特定图表组的索引编号可能会更改,则使用其中一个命名图表组快捷方法返回特定图表组可能更容易.PieGroups方法返回图表中饼图组的集合,LineGroups方法返回折线图组的集合,依此类推。“ 例如,LineGroups Method。
这允许第2点:ChartGroup
将返回PieGroups
s的集合。可能有多个此类ChartGroup
,并且所有系列都将采用Pie格式。
用于返回特定图表组的命名图表组快捷方式并不全面。例如,没有ChartGroup
方法。
作为第2点的一个例子,我有一个图表,其中包含所有格式为XYScatter的系列。 5个可用的XYScatterGroups
(根据XlChartType Enumeration的数值和描述)
XlChartType
在图表中,有2个ChartGroups,如转储(来自自定义Sub)
所示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.
请注意,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
中的xlXYScatter
(-4169)类型都有一系列。我可以将ChartGroup
1的Series
2格式更改为5种类型中的任何一种,并且不会更改其ChartGroup
。