「chartobjectインデックス番号を調べる」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
「excelvba chartobjectsメソッドの引数のインデックス番号の取得は」
という検索キーワードも見かけます。
Excel VBA(Visual Basic for Applications)で、ワークシート上の埋め込みグラフを取得する際に、「ActiveSheet.ChartObjects(1)」といったオブジェクト式を利用します。
このWorksheet.ChartObjectsメソッドの引数に指定する、インデックス番号の調べ方を探していたのが、
「chartobjectインデックス番号を調べる」
といった検索キーワードでしょう。
ChartObjectオブジェクトのインデックス番号を取得するサンプルマクロ
インデックス番号を調べたい埋め込みグラフを選択しておいて、以下のマクロを実行すると、アクティブな埋め込みグラフのインデックス番号がメッセージボックスに表示されます。
MsgBox ActiveChart.Parent.Index
End Sub
ChartObjectとChart
ChartObjectオブジェクトとChartオブジェクトの関係は、ちょっとややこしくなっています。
Worksheetオブジェクトから階層関係を図解すると、以下のような関係です。
Worksheetオブジェクト
└ ChartObjectsコレクションオブジェクト
└ ChartObjectオブジェクト
└ Chartオブジェクト
ActiveChartプロパティは、アクティブなグラフを表すChartオブジェクトを返します。
ChartオブジェクトのParentプロパティを使うと、
階層関係の親に該当するChartObjectオブジェクトを取得することができます。
このChartオブジェクトのParentプロパティで取得した、ChartObjectオブジェクトのIndexプロパティで、
ChartObjectオブジェクトのインデックス番号を取得しているのが、上記マクロで利用している「ActiveChart.Parent.Index」というオブジェクト式です。
最終更新日時:2022-06-22 16:23
- Newer:RGB色見本を作成するExcelマクロ
- Older:CurrentRegionの最終行番号
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ChartObjectのインデックス番号を取得する