Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフエリアを選択する

VBAでグラフエリアを選択する

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2111 ビルド14701.20262 Microsoft Store)

「vba グラフエリアの選択」
という検索でアクセスがありました。

Excel VBAを使ってグラフエリアを選択するには、どのようなコードを書けばいいのかを探していらしたのでしょう。

グラフシートのグラフエリアを選択するサンプル

グラフシートがアクティブな状態で以下のSubプロシージャを実行すると、グラフエリアが選択されます。

Sub グラフシートのChartAreaを選択する()
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つ目の埋め込みグラフのグラフエリアが選択されます。

Sub 埋め込みグラフのCharAreaを選択する()
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でグラフエリアを選択する

「グラフ・Chart」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.