「vba グラフオブジェクトの名前を取得する」
という検索キーワードに気づきました。
グラフオブジェクト・埋め込みグラフの名前を取得する、Excel VBAのコードを探していた方による検索でしょう。
アクティブシート上のグラフオブジェクトの名前を取得するマクロ
以下のSubプロシージャを実行すると、アクティブなシート上に存在するグラフオブジェクトの名前が順番にメッセージに表示されます。
Dim cho As ChartObject For Each cho In ActiveSheet.ChartObjects
MsgBox cho.Name
Next cho
End Sub
For Each~Nextループで、ChartObjectsコレクションオブジェクトに含まれる、ChartObjectオブジェクトを順番に取得して、その名前を取得してメッセージボックスに表示しています。
アクティブなグラフオブジェクトの名前を取得するマクロ
アクティブなグラフオブジェクトの名前を取得しようとして、戸惑う方が多いかもしれません。If ActiveChart Is Nothing Then
MsgBox "グラフが選択されていません。"
Else
MsgBox ActiveChart.Parent.Name
End If
End Sub
「ActiveChart.Name」というオブジェクト式で、グラフオブジェクトの名前を取得できると考えてしまう方もいらっしゃるようですが、ActiveChartオブジェクトで取得できるのはあくまでもChartオブジェクトです。
そのため「ActiveChart.Name」で取得できるのは「シート名 グラフ名」のような、名前になってしまいます。
Chartオブジェクトの親オブジェクトであるChartObjectオブジェクトを取得するためにParentプロパティを使っています。
最終更新日時:2018-10-06 15:16
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフオブジェクト・埋め込みグラフの名前を取得する