vbaでExcelの1シートに2つから4つのグラフを作成する方法を教えてください。特に、集合横棒グラフを複数作成したい場合、各系列とグラフごとにどのように設定すれば良いでしょうか?

VBAを使用してExcelの1シートに複数のグラフを作成する方法について説明します。まず、特定のセル範囲からデータを取得し、新しいグラフオブジェクトを作成します。次に、グラフの種類やデータ範囲、軸の設定などを指定します。以下に、2つの集合横棒グラフを作成する例を示します。

“`vba
Sub CreateMultipleBarCharts()
Dim ws As Worksheet
Dim rngData As Range
Dim cht As ChartObject
Dim cht1 As ChartObject
Dim cht2 As ChartObject

‘ グラフを作成するシートを指定します
Set ws = ThisWorkbook.Worksheets(“Sheet1”)

‘ グラフを作成する範囲を指定します
Set rngData = ws.Range(“A1:D10”)

‘ 1つ目の集合横棒グラフを作成します
Set cht1 = ws.ChartObjects.Add(Left:=200, Top:=50, Width:=300, Height:=250)
With cht1.Chart
.ChartType = xlBarStacked
.SetSourceData Source:=rngData.Columns(1)
.SeriesCollection.NewSeries
.SeriesCollection(1).Values = rngData.Columns(2)
.SeriesCollection.NewSeries
.SeriesCollection(2).Values = rngData.Columns(3)
.FullSeriesCollection(1).XValues = rngData.Columns(4)
End With

‘ 2つ目の集合横棒グラフを作成します
Set cht2 = ws.ChartObjects.Add(Left:=200, Top:=350, Width:=300, Height:=250)
With cht2.Chart
.ChartType = xlBarStacked
.SetSourceData Source:=rngData.Columns(1)
.SeriesCollection.NewSeries
.SeriesCollection(1).Values = rngData.Columns(2)
.SeriesCollection.NewSeries
.SeriesCollection(2).Values = rngData.Columns(3)
.FullSeriesCollection(1).XValues = rngData.Columns(4)
End With
End Sub
“`

この例では、A1:D10の範囲内のデータを使用して、1つ目のグラフと2つ目のグラフの2つの集合横棒グラフが作成されます。各グラフの位置とサイズは指定することができます。

例では、グラフの種類として”xlBarStacked”を使用していますが、必要に応じて他のグラフ種別に変更できます。また、データ範囲や軸の設定も適宜変更してください。

ご要望に合わせて、追加情報や具体的な設定方法を提供することも可能ですので、遠慮なくお知らせください。

コメントを残す