アクティブなグラフシートのオブジェクトを取得する

広告

グラフシートのオブジェクトを取得するには、インデックス番号を指定するかグラフシート名を指定してChartオブジェクトを取得していましたが、取得するグラフシートオブジェクトを指定する方法として、現在アクティブになっているグラフシートを指定することが出来ます。

アクティブなグラフシートのChartオブジェクトを取得するには、Applicationオブジェクト、Windowオブジェクト、又はWorkbookオブジェクトの「ActiveChart」プロパティを使います。

Dim chart1 As Chart

Set chart1 = ActiveChart

サンプルプログラム

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

testchart3.bas

Sub テスト()

    Dim chart1 As Chart

    Set chart1 = Application.Charts("Graph1")
    chart1.Activate
    
    ActiveChart.SetSourceData Worksheets("Sheet1").Range("B2:E6")
    
End Sub

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

アクティブグラフシートのオブジェクトを取得

※上記のサンプルではChartオブジェクトの「SetSourceData」メソッドを使ってグラフのデータ範囲を指定しています。詳しくは『グラフのデータ範囲の設定』を参照して下さい。

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )