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

グラフシートをFor Each~Nextループで処理する

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

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

検索


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

.