Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ワークシート上の全グラフをFor Each~Nextループで

ワークシート上の全グラフをFor Each~Nextループで

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

「シート内のグラフ vba for each」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

いずれかのワークシート上に存在している全グラフに対して、For Each~Nextループを使って何らかの処理を行うにはどのようなコードを書けばいいのか探している方による検索です。

ワークシート上のグラフをFor Each~Nextループで処理するサンプルマクロ

「シート内のグラフ vba for each」
という検索キーワードだけでは、For Each~Nextループの中で具体的に何をしたかったのかまではわかりませんので、参考になりそうな簡単なマクロをご紹介しておきます。

Sub アクティブシート上のグラフを順番に取得する()
 Dim cho As ChartObject
 For Each cho In ActiveSheet.ChartObjects
  cho.Select
  MsgBox cho.Name
 Next
End Sub

上記のマクロを実行すると、アクティブなシート上に存在するグラフが順番に選択されて、グラフ名がメッセージボックスに表示されます。

サンプルマクロの解説

ワークシート上のグラフは、Excel VBA的にはChartObjectオブジェクトです。

オブジェクトブラウザーでChartObjectオブジェクトを確認すると下図のようなプロパティ・メソッドを持つことがわかります。

ワークシート上の全グラフをFor Each~Nextループで処理するExcelマクロ

上記のマクロではFor Each~Nextループの中で、SelectメソッドとNameプロパティを利用しています。

このChartObjectオブジェクトを単一オブジェクトとして持つのは、ChartObjectsコレクションオブジェクトです。

ワークシート上の全グラフをFor Each~Nextループで処理するExcelマクロ

ワークシート上のChartObjectsコレクションオブジェクトは、WorksheetオブジェクトのChartObjectsメソッドで取得できるので、

ワークシート上の全グラフをFor Each~Nextループで処理するExcelマクロ

上記のようなFor Each~Nextループにしました。

最終更新日時:2022-06-22 17:01

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ワークシート上の全グラフをFor Each~Nextループで

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

検索


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

.