私はChart
2 つを含むを持っていChartGroup
ます。私は意図的にこれを行ったことがないので、何が原因なのか推測できません。誰でもすべてのオプション (VBA またはその他) を指定できますか?
これにつながった可能性のある行動がどれかを知っていれば、それらを認識して制御/回避することができます.
PlotOrder
PS: これの欠点は、を識別するためにを使用するコードがかなりあることSeries
です。が複数ある場合ChartGroup
、は a内のPlotOrder
の一意の識別子ではありません( 内で一意です)。とにかく、長期的には、コードを適応させる必要があります。しかし、当分の間、私は自分のチャートを可能な限り単一の . の を再割り当てする簡単な方法はありますか? (これにより、2 つの質問を含む 1 つの投稿が作成されます...)Series
Chart
ChartGroup
ChartGroup
ChartGroup
Series
この質問の元になったのは
Excel: チャート内の 2 つのシリーズの PlotOrder が重複しています
編集:ここにいくつかの興味深い調査結果をリストします(このトピックを中心に展開していますが、特定の質問には答えていません)。
公式サイトで見つけた
ChartGroups Collection : 「指定されたグラフ内のすべての ChartGroup オブジェクトのコレクション。各ChartGroupオブジェクトは、同じ形式でグラフにプロットされた 1 つ以上の系列を表します。」for a )の型は、明らかに特定の形式 (たとえば、スキャッター) に関連付けられます。
XlChartType
Enumeration
.ChartType
Series
xlXYScatter
ChartGroup オブジェクト: "同じ形式でグラフにプロットされた 1 つまたは複数の系列を表します。 "
a 内のすべてが同じ「format
Series
」である必要があります。しかし、その逆は正しくありません。異なるsで同じ形式を使用することは可能です。以下のポイント 3 と例を参照してください。ChartGroup
Series
ChartGroup
ChartGroup オブジェクトから: "特定のグラフ グループのインデックス番号は、そのグループに使用されるグラフ形式が変更されると変更される可能性があるため、名前付きグラフ グループ ショートカット メソッドのいずれかを使用して特定のグラフ グループを返す方が簡単な場合があります。メソッドは、グラフ内の円グラフ グループのコレクションを返し、LineGroups メソッドは、折れ線グラフ グループのコレクションを返します。たとえば、LineGroups メソッド.
これにより、ポイント 2 が可能になります。 は の
PieGroups
コレクションを返しChartGroup
ます。そのような が複数存在する場合がありChartGroup
、すべてのシリーズが Pie 形式になります。特定のグラフ グループを返すために使用できる名前付きグラフ グループ ショートカット メソッドは包括的ではありません。たとえば、
XYScatterGroups
方法はありません。
ポイント 2 の例として、XYScatter 形式のすべてのシリーズを含むチャートがあります。利用可能な 5 つの s ( XlChartType EnumerationXlChartType
による数値と説明を含む) は次のとおりです。
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.
グラフには、(カスタム Sub からの) ダンプに示されているように、2 つの ChartGroups があります。
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)があることに注意してくださいChartGroup
。Series
2 of 1の形式をChartGroup
5 つのタイプのいずれかに変更できますが、そのChartGroup
.