今回はグラフに新しい系列を追加する方法です。
グラフに系列を追加するには「SeriesCollection.NewSeries」もしくは「SeriesCollection.Add」を使用します。
その他グラフの作成方法から詳細設定は次の記事をご覧下さい。
- グラフ操作 グラフの作成と詳細設定をする方法
- 折れ線グラフを作成する
- 棒グラフを作成する
- 散布図グラフを作成する
- 円グラフを作成する
- 2軸グラフを作成する
- 複合グラフに2軸設定する方法
- 作成済みのグラフのデータ範囲を変更する
- シートに作成済みの埋め込みグラフを取得する
- 離れたデータでグラフを作成する
1.グラフに新しい系列を追加する方法
グラフに系列を追加するには「SeriesCollection.NewSeries」もしくは「SeriesCollection.Add」を使用します。
次のようなデータとグラフを使用して、C店舗とD店舗のデータを追加します。
2.SeriesCollection.NewSeriesで追加する
「SeriesCollection.NewSeries」を使用して、新しい系列を追加します。
Sub Sample1()
Dim ChartObj As Object
Dim Srs As Series
'■■■作成したグラフを格納■■■
Set ChartObj = ActiveSheet.ChartObjects(1)
'■■■グラフに新しい系列(データ)を追加■■■
With ChartObj.Chart
Set Srs = .SeriesCollection.NewSeries '新しい系列追加
With Srs '新しい系列は2番目となる
.ChartType = xlColumnClustered '2つ目の系列のグラフの種類を指定
.Values = Range("D2:D13") 'データ範囲を指定
.Name = Range("D1") '項目名を指定
End With
End With
End Sub
「Set ChartObj = ActiveSheet.ChartObjects(1)」でグラフを取得します。
「Set Srs = .SeriesCollection.NewSeries」でグラフに新しい系列を追加して、変数に格納しています。
「With Srs」で追加した系列を操作しましたが、変数に格納せずに指定する場合は「With .SeriesCollection(3)」と指定します。
すでに2つの系列が追加されているため(3)となります。
「ChartType」で系列の種類を、「Values」でデータ範囲を、「Name」で項目名を指定します。
3.SeriesCollection.Addで追加する
「SeriesCollection.NewSeries」を使用して、新しい系列を追加します。
Sub Sample2()
Dim ChartObj As Object
Dim Srs As Series
'■■■作成したグラフを格納■■■
Set ChartObj = ActiveSheet.ChartObjects(1)
'■■■グラフに新しい系列(データ)を追加■■■
With ChartObj.Chart
Set Srs = .SeriesCollection.Add(Range("D2", "D13")) '新しい系列追加
With Srs
.ChartType = xlColumnClustered '2つ目の系列のグラフの種類を指定
.Name = Range("D1") '項目名を指定
End With
End With
End Sub
「Set ChartObj = ActiveSheet.ChartObjects(1)」でグラフを取得します。
「Set Srs = .SeriesCollection.Add(Range(“D2”, “D13”))」でグラフに新しい系列を追加して、変数に格納しています。
「With Srs」で追加した系列を操作しましたが、変数に格納せずに指定する場合は「With .SeriesCollection(3)」と指定します。
すでに2つの系列が追加されているため(3)となります。
「ChartType」で系列の種類を、「Name」で項目名を指定します。
ポイントはデータを追加時に指定しているところと、「 Range(“D2”, “D13”)) 」と指定しているところです。