「マクロ .AddChart.Chart」
「エクセル vba With ActiveSheets.Shapes.AddChart.Chart」
のような検索キーワードで、このサイト『インストラクターのネタ帳』へ時折アクセスがあります。
誰かが作ったExcelマクロの中に
Worksheets(1).Shapes.AddChart.Chart
あるいは、
ActiveSheet.Shapes.AddChart.Chart
といったコードがあり、その意味を調べていらしたのでしょうか。
Shapes.AddChart.Chartの意味
結論からお伝えすると、「.Shapes.AddChart.Chart」は埋め込みグラフを挿入して、挿入されたばかりのグラフを表すChartオブジェクトを取得するためのコードです。
「.Shapes.AddChart.Chart」を順番に読み解いていきましょう。
Shapes.AddChartの意味
「.Shapes.AddChart」は、Shapesコレクションに用意されているAddChartメソッドを使用しているコードです。
最近のExcelでは、Shapes.AddChartメソッドは非表示になっていますが、オブジェクトブラウザーで[非表示のメンバーを表示]オプションをOnの状態にすれば、下図のとおり表示されます。
Shapesコレクションを取得するためのShapesプロパティは、グローバルメンバーではないため、「.Shape」の前にはWorksheetオブジェクトを取得するためのコードが必要です。それが「ActiveSheet」や「Worksheets(1)」です。
AddChart.Chartの意味
つづく「.AddChart.Chart」は、Shapeオブジェクトに用意されているChartプロパティを使用しているコードです。
「AddChart」という名前から、Shapes.AddChartメソッドの戻り値をChartオブジェクトと思ってしまう方もいるかもしれませんが、違います。Shapes.AddChartメソッドの戻り値は、オブジェクトブラウザー詳細ペイン1行目に「As Shape」と明示されているとおりShapeオブジェクトです。
ですから、「Shapes.AddChart.Chart」の「.Chart」は、Shapeオブジェクトに用されているChartプロパティです。
最終更新日時:2021-11-12 12:50
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » Shapes.AddChart.Chartとは