Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフシートをブックの最後に追加するには?

VBAでグラフシートをブックの最後に追加するには?

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

VBAから、ブックの末尾にグラフシート・Chartオブジェクトを追加するメソッドには、バグがあります。

Charts.Addではグラフシートをブックの末尾に追加できない

例えば、

Sheets.Add After:=Sheets(Sheets.Count)

といったコードを実行すると、アクティブなブックの末尾にワークシートを挿入することができます。

同じ考え方で、

 Charts.Add After:=Sheets(Sheets.Count)

というコードで、グラフシートをブックの末尾に挿入できるはずなのですが、できません。

[スポンサードリンク]

グラフシートをブックの最後に追加しようと、

Charts.Add After:=Sheets(Sheets.Count)

を実行しても、

Charts.Add Before:=Sheets(Sheets.Count)

と同じ結果になってしまうのです。
グラフシートがブックの最後のシートの左側に追加されてしまいます。

このサイト・インストラクターのネタ帳へも、
「charts.add 最後」
といった検索キーワードでのアクセスがあります。

グラフシートをブックの末尾に追加するサンプルマクロ

解決方法としては、以下のようなSubプロシージャです。

Sub グラフシートを末尾に追加する()
 Dim cht As Chart
 Set cht = Charts.Add
 cht.Move After:= Sheets(Sheets.Count)
End Sub

一旦グラフシートの挿入を行ってから、

Set cht = Charts.Add

移動を行えば、

cht.Move After:= Sheets(Sheets.Count)

ユーザー側からは、グラフシートをブックの最後に追加したように見えます。

最終更新日時:2021-13:28

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフシートをブックの最後に追加するには?

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

検索


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

.