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

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

(Last modified: )

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

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

Dim chart1 As Chart

Set chart1 = ActiveChart

サンプルプログラム

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

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 )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。