動作検証バージョン:Windows版Excel(バージョン1908 ビルド11929.20300)
「vba グラフシート for each」
という検索キーワードに気が付きました。
拙著『いちばんやさしいExcel VBAの教本』のLesson 70の「グラフシートはChartsとChartで操作」で少しだけ触れているChartsを使えば、
グラフシートだけを処理できます。
[スポンサードリンク]
グラフシートをFor Each~Nextループで処理するサンプルマクロ
以下のSubプロシージャが参考になるでしょう。
Sub グラフシートをFor_Each文で処理する()
Dim cht As Chart
For Each cht In Charts
If cht.Visible Then
cht.Select
MsgBox cht.Index
End If
Next
End Sub
グラフシートをFor Each~Nextループで処理するサンプルについて
上記のSubプロシージャを実行すると、アクティブなブックで、表示されているグラフシートが
For Each cht In Charts
If cht.Visible Then
順番に選択され、(ワークシートも含んだ)何枚目のシートかを表す整数(Chart.Index)が、
メッセージボックスに表示されます。
なおChartsプロパティで取得できるオブジェクトは、Chartsコレクションと理解していてもそれほど困らないとは思いますが、オブジェクトブラウザー等で確認すればわかるとおり、厳密にはChartオブジェクトだけを単独のオブジェクトとして含むSheetsコレクションです。
最終更新日時:2019-10-08 14:54
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » グラフシートをFor Each~Nextループで処理する
TrackBack:0
- TrackBack URL