「vba charts add before」
という検索キーワードに気が付きました。
Excel VBAの「Charts.Add Before:=〇〇」といったコードについて調べていた方による検索です。
最近のExcelでは、下図のとおりCharts.Addメソッドは非表示になっており、
Charts.Add2メソッドの使用が推奨されているように見えますが、
引数Beforeの使い方は同じです。どのシートの前にグラフシートを挿入するかを指定します。引数Beforeに指定されたシートの前に、グラフシートが挿入されます。
Charts.Add・Add2の引数Beforeにはシートを表すオブジェクトを指定
オブジェクトブラウザーの詳細ペインには、
Add([Before], [After], …
あるいは、
Add2([Before], [After], …
とだけ表示されていて、どの引数にどのようなデータを指定すればいいのか読み取れませんが、BeforeとAfterにはシートを表すオブジェクトを指定します。
Charts.Addメソッドで引数Beforeを指定するサンプル
以下のSubプロシージャを実行すると、Sheets(1)で取得できる先頭シートの前にグラフシートが挿入されます。
Charts.Add Before:=Sheets(1)
End Sub
Sub ChartsのAdd2メソッドで引数Beforeを指定する()
Charts.Add2 Before:=Sheets(1)
End Sub
引数BeforeにActiveSheetプロパティを指定
引数BeforeにグローバルメンバーのActiveSheetプロパティを指定した、
Charts.Add Before:=ActiveSheet
あるいは、
Charts.Add2 Before:=ActiveSheet
を実行すると、アクティブシートの前にグラフシートが挿入されます。
引数BeforeにCodeNameを指定
上図のように、オブジェクト名(CodeName)が「Sheet1」のシートがあるときに、
Charts.Add Before:=Sheet1
あるいは、
Charts.Add2 Before:=Sheet1
を実行すると、Sheet1シートの前にグラフシートが挿入されます。
Chartsプロパティの戻り値はSheetsコレクション
ちなみにChartsプロパティの戻り値は厳密には、Chartオブジェクトのみを要素として含むSheetsコレクションです。
ですが、引数Before・Afterについては、ChartsコレクションでもSheetsコレクションでも同じです。そのため、この記事では「Charts.Add」や「Charts.Add2」をChartsコレクションのAdd・Add2メソッドとして解説しています。
Chartsプロパティの戻り値がSheetsである件は、以下のような記事もご覧ください。
最終更新日時:2021-12-16 12:49
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » Charts.AddやAdd2で引数Beforeを指定するサンプル