1

我有一个Chart包含两个ChartGroups。我从来没有故意这样做,所以我猜不出是什么原因造成的。任何人都可以提供所有选项(VBA 或其他)吗?

如果我知道哪些是可能导致这种情况的可能行为,我就可以意识到并控制/避免它们。

PS:这样做的缺点是我有相当多的代码使用PlotOrder用于识别Series。当有多个 时ChartGroupPlotOrder不是 aSeries中的唯一标识符(它在 a 中Chart是唯一的ChartGroup)。从长远来看,无论如何,我将不得不调整我的代码。ChartGroup但就目前而言,我可以尽可能地让我的图表适应单一的 。有没有一种简单的方法来重新分配ChartGroupa Series?(这将使一个带有两个问题的帖子......)

这个问题源于

Excel:图表中两个系列的重复 PlotOrder

编辑:我在这里列出了一些有趣的发现(围绕这个主题,但不回答具体问题)。

  1. 我在官方网站上找到了这个

    ChartGroups Collection:“指定图表中所有 ChartGroup 对象的集合。每个 ChartGroup 对象代表一个或多个以相同格式绘制在图表中的系列。 ”即使我没有找到明确说明,似乎每个XlChartType(a )Enumeration的类型显然与给定的格式相关联,例如,与 scatter 相关联。.ChartTypeSeriesxlXYScatter

    ChartGroup 对象:“表示以相同格式绘制在图表中的一个或多个系列。

  2. a 中的所有Series内容ChartGroup都应具有相同的“格式”。但反之则不然:在不同的 s中可能有Series相同的格式。ChartGroup请参见下面的第 3 点和示例。

  3. From ChartGroup Object : "因为如果特定图表组使用的图表格式发生更改,特定图表组的索引号可能会更改,因此使用命名图表组快捷方式之一返回特定图表组可能更容易。PieGroups方法返回图表中饼图组的集合,LineGroups 方法返回折线图组的集合,依此类推。 ” 例如,LineGroups 方法

    这允许第 2 点:PieGroups将返回 s 的集合ChartGroup。可能有不止一个这样ChartGroup的 ,并且所有系列都将具有 Pie 格式。

  4. 返回特定图表组的可用命名图表组快捷方式并不全面。例如,没有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 种类型中的任何一种,并且不会更改其.SeriesChartGroupChartGroup

4

0 回答 0