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