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

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

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

VBA(Visual Basic for Applications)から、ブックの末尾にグラフシート・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)

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

[スポンサードリンク]

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

TrackBack:0

TrackBack URL
[スポンサードリンク]

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

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

検索


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

.