動作検証バージョン: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
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ループで処理する