vbaを使ってExcelでグラフを作成していますが、1つのシートに2から4つのグラフを作成します。最初のパターンでは、複数の集合横棒グラフを1つのシートに作成しますが、集合横棒の系列ごとにグラフがあり、それぞれのグラフがシート内で独立しています。

VBAを使用してExcelで複数のグラフを作成する方法についての質問ですね。最初のパターンでは、1つのシートに複数の集合横棒グラフを作成し、それぞれのグラフがシート内で独立しているということですね。

この目的を達成するために、以下の手順をお試しください。

1. ExcelのVBAエディタを開きます(Alt + F11)。
2. シート上にグラフを作成するためのマクロを作成します。以下は、例として1つの集合横棒グラフを作成するマクロです。

“`vba
Sub CreateBarChart()
Dim ws As Worksheet
Dim rngData As Range
Dim cht As ChartObject
Dim rngSeries As Range

Set ws = ThisWorkbook.Worksheets(“シート名”) ‘ シート名を適宜変更
Set rngData = ws.Range(“データ範囲”) ‘ データ範囲を適宜設定

‘ チャートを作成する
Set cht = ws.ChartObjects.Add(Left:=10, Top:=10, Width:=400, Height:=300)
cht.Chart.ChartType = xlBarStacked ‘ グラフの種類を適宜設定
cht.Chart.SetSourceData rngData ‘ データ範囲を設定

‘ チャートの系列ごとにシート内で独立するように設定する
Set rngSeries = rngData.Rows(1) ‘ シリーズ名が入っている行を適宜設定
cht.Chart.SetElement (msoElementDataTable) ‘ データテーブルの表示
cht.Chart.Parent.Name = “グラフ名” ‘ グラフ名を適宜設定
cht.Chart.Name = rngSeries.Cells(1, 1).Value ‘ 系列名を設定

With cht.Chart.Parent
.Top = 100 ‘ グラフの位置を適宜設定
.Left = 100 ‘ グラフの位置を適宜設定
End With
End Sub
“`

3. マクロを実行して、1つの集合横棒グラフが作成されることを確認します。
4. 必要な場所に他のグラフを作成するために、必要に応じてマクロを複製し、各グラフに異なる範囲や位置を設定します。

この方法を用いて、1つのシートに複数の集合横棒グラフを作成することができます。必要な数のグラフを作成し、それぞれの範囲や位置を調整することで、それぞれがシート内で独立して表示されます。

ただし、この方法ではグラフを自動的に作成するわけではなく、手動でマクロを実行する必要があります。自動的にグラフを作成するためには、ワークシートの変更をトリガーにしてマクロを実行するイベントハンドラを作成する必要があります。イベントハンドラの作成については、別途説明いたします。

また、一つずつグラフを作成することは、手間がかかるかもしれません。もし、効率的に複数のグラフを作成したい場合は、ループを使用して動的にグラフを作成する方法を検討することもできます。

以上の手順を参考に、複数の集合横棒グラフを1つのシートに作成し、それぞれがシート内で独立して表示されるようにしてみてください。問題がある場合や、さらなる質問がある場合は、お知らせください。

コメントを残す