AddChart2メソッド解説(Excel VBA)

Excel VBA: AddChart2メソッドの使い方

VBAでExcelのチャートを操作する際には、様々なメソッドがありますが、その中でも「AddChart2メソッド」は特に便利なものの一つです。「AddChart2メソッド」を使用すると、プログラムによって新しいチャートを追加し、その種類やスタイルを指定することができます。

AddChart2メソッドの基本的な使い方

まずは、AddChart2メソッドの基本的な使い方から見ていきましょう。このメソッドは「Shapes」オブジェクトの一部で、以下のような形式で使用します:

    Shapes.AddChart2(Style, XlChartType, Left, Top, Width, Height, NewLayout)

ここで各パラメーターの意味は以下の通りです:

  • Style: チャートのスタイルを指定します。
  • XlChartType: チャートの種類を指定します。
  • Left, Top: チャートの左上角の位置を指定します。
  • Width, Height: チャートの幅と高さを指定します。
  • NewLayout: チャートが新しいレイアウトを使用するかどうかを指定します。既定値はFalseです。

サンプルコード: AddChart2メソッドの使用例

A B C D
1 日付 売上 日付 売上
2 2023/01/01 100 2023/01/01 200
3 2023/01/02 150 2023/01/02 220
4 2023/01/03 130 2023/01/03 180
5 2023/01/04 160 2023/01/04 210
6 2023/01/05 170 2023/01/05 230
7 2023/01/06 180 2023/01/06 240
8 2023/01/07 200 2023/01/07 250
9 2023/01/08 210 2023/01/08 260
10 2023/01/09 220 2023/01/09 270

それでは、AddChart2メソッドの使用例を見てみましょう。以下のサンプルコードでは、データが入力されている範囲に対して棒グラフを作成します。

Sub AddChartExample()
  Dim rng As Range
  Dim cht As Chart

  Set rng = Worksheets("Sheet1").Range("A1:B10")

  Set cht = Worksheets("Sheet1").Shapes.AddChart2(251, xlColumnClustered, 100, 100, 300, 200).Chart

  cht.SetSourceData rng
End Sub

ここで、”Sheet1″の”A1:B10″の範囲にデータが存在し、そのデータを元に棒グラフを作成します。AddChart2メソッドの第一引数にはスタイルの番号(この例では251)を、第二引数にはチャートの種類を指定します。この例ではxlColumnClusteredを指定して、クラスタ化された棒グラフを作成しています。第3、4引数でチャートの左上角の位置を、第5、6引数でチャートの幅と高さを指定しています。

このメソッドはChartオブジェクトを返すため、「Set cht = …」とすることで新たに作成したチャートをcht変数に格納します。次に、「cht.SetSourceData rng」を使用して、チャートのデータソースを設定します。ここでのrngは、チャートのデータが格納されている範囲を指しています。

サンプルコード: AddChart2メソッドを使用して複数のチャートを作成する例

次に、AddChart2メソッドを使用して複数のチャートを作成する例を見てみましょう。以下のサンプルコードでは、”Sheet1″の”A1:B10″と”C1:D10″の2つの範囲に対して別々のチャートを作成します。

Sub AddMultipleChartsExample()
  Dim rng1 As Range
  Dim rng2 As Range
  Dim cht1 As Chart
  Dim cht2 As Chart

  Set rng1 = Worksheets("Sheet1").Range("A1:B10")
  Set rng2 = Worksheets("Sheet1").Range("C1:D10")

  Set cht1 = Worksheets("Sheet1").Shapes.AddChart2(251, xlColumnClustered, 100, 100, 300, 200).Chart
  Set cht2 = Worksheets("Sheet1").Shapes.AddChart2(251, xlColumnClustered, 400, 100, 300, 200).Chart

  cht1.SetSourceData rng1
  cht2.SetSourceData rng2
End Sub

このコードでは、2つの異なるデータ範囲(rng1とrng2)に対して、それぞれ異なる位置にチャート(cht1とcht2)を作成しています。それぞれのチャートに対してSetSourceDataメソッドを使用し、チャートのデータソースを設定しています。

以上が、VBAのAddChart2メソッドの基本的な使い方と使用例です。このメソッドを上手く利用することで、Excelのチャート操作を自動化し、効率的な作業を実現できます。

PAGE TOP
タイトルとURLをコピーしました