「vba グラフエリアの選択」
という検索でアクセスがありました。
Excel VBAを使ってグラフエリアを選択するには、どのようなコードを書けばいいのかを探していらしたのでしょう。
グラフシートのグラフエリアを選択するサンプル
グラフシートがアクティブな状態で以下のSubプロシージャを実行すると、グラフエリアが選択されます。
On Error GoTo ErrHandl
ActiveSheet.ChartArea.Select
Exit Sub
ErrHandl:
MsgBox "アクティブなシートはグラフシートではありません。"
Err.Clear
End Sub
ChartAreaオブジェクトに用意されているSelectメソッドを使うことで、
グラフエリアは選択できます。
そのようなグラフエリアを表すChartAreaオブジェクトは、Chartオブジェクトに用意されているプロパティの1つChartAreaで取得できます。
ActiveSheetでChartを取得
グラフシートがアクティブな場合、グローバルメンバーのActiveSheetプロパティでグラフを表すChartオブジェクトを取得できますから、
上記のとおり
ActiveSheet.ChartArea.Select
といったシンプルなコードでグラフエリアの選択が可能です。
ただし、アクティブシートがグラフシートでない場合には、「ActiveSheet.ChartArea」で実行時エラーが発生してしまいますから、ここではOn Error GoTo文を入れています。
埋め込みグラフのグラフエリアを選択するサンプル
埋め込みグラフの存在するワークシートがアクティブな状態で以下のSubプロシージャを実行すると、1つ目の埋め込みグラフのグラフエリアが選択されます。
On Error GoTo ErrHandl
ActiveSheet.ChartObjects(1).Chart.ChartArea.Select
Exit Sub
ErrHandl:
MsgBox "アクティブなシートに埋め込みグラフは存在しません。"
Err.Clear
End Sub
グラフシートの場合よりも階層が深くなっていますが、Chartオブジェクト下のオブジェクトを使うのは同じです。
グラフシートの場合はActiveSheetプロパティでいきなりChartオブジェクトを取得できましたが、埋め込みグラフですから
ActiveSheet.ChartObjects(1).Chart…
としています。
アクティブシートに埋め込みグラフがない場合等に実行時エラーが発生しますから、On Error GoTo文を入れています。
最終更新日時:2022-07-16 19:19
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフエリアを選択する