グラフのデータ範囲の設定

広告

グラフを作成する上で、グラフの元になるデータ範囲を設定する方法を確認します。

データ範囲を設定するにはChartオブジェクトに対して「SetSourceData」メソッドを使います。

Dim chart1 As Chart

Set chart1 = Application.Charts("Graph1")
chart1.SetSourceData(Source, PlotBy)

引数としては2つの値を指定します。1つ目の「Source」引数にはデータの元になるセル範囲を表すRangeオブジェクトを指定します。

Dim chart1 As Chart

Set chart1 = Application.Charts("Graph1")
chart1.SetSourceData Source:= _
    Worksheets("Sheet1").Range("A1:C4")

2つ目の「PlotBy」引数にはデータ系列を行にするか列にするかを指定します。行の場合には「xlColumns」を、列の場合には「xlRows」を指定します。省略した場合、行数が列数よりも少なければ行を、列数が行数よりも少なければ列をデータ系列とします。

Dim chart1 As Chart

Set chart1 = Application.Charts("Graph1")
chart1.SetSourceData _
    Source:=Worksheets("Sheet1").Range("A1:C4"), _
    PlotBy:=xlColumns

サンプルプログラム

では簡単なサンプルで試してみましょう。

testchartedit3.bas

Sub テスト()

    Dim chart1 As Chart

    Set chart1 = Charts.Add
    
    chart1.SetSourceData _
        Worksheets("Sheet1").Range("B2:E6")
    
End Sub

上記マクロを実行すると次のようになります。

グラフの元データ範囲の指定

( Written by Tatsuo Ikura )