「seriescollection fullseriescollection 違い」
といった検索キーワードで時折アクセスがあります。
2013以降のExcelの場合、グラフのデータ系列を表すコレクションは、SeriesCollectionとFullSeriesCollectionの2つがあります。
この2つがどう違うのかを調べていらしたのでしょう。
グラフに表示されている系列のみを含むかどうか
SeriesCollectionもFullSeriesCollectionも、Itemメソッド等で取得できる要素オブジェクトが、グラフのデータ系列を表すSeriesであるという点では同じです。
違いは、グラフの系列をフィルタリングしているときに現れます。
SeriesCollectionとFullSeriesCollectionの違いは、フィルタリングしているときにグラフに表示されているデータ系列のみを含むかどうかです。
SeriesCollectionコレクションは、フィルタリングされているときに、グラフに表示されているデータ系列のみを要素として含みます。
一方のFullSeriesCollectionコレクションは、グラフに表示されていないフィルタリングされているデータ系列も要素として含みます。
SeriesCollectionとFullSeriesCollectionの違いを確認する
シンプルなグラフで系列をフィルタリングした状態で、簡単なSubプロシージャを実行し、ローカルウィンドウでSeriesCollectionとFullSeriesCollectionの違いを目視確認しましょう。
下図のような簡単なグラフを作成し、
下図のように系列をフィルタリングして、そのグラフがアクティブな状態で、
以下のSubプロシージャを実行してください。
Dim full_srs As FullSeriesCollection
Set full_srs = ActiveChart.FullSeriesCollection
Dim coll_srs As SeriesCollection
Set coll_srs = ActiveChart.SeriesCollection
Stop
End Sub
Stopステートメントで中断したら、拙著『いちばんやさしいExcel VBAの教本』や拙著『いちばんやさしいPowerPoint VBAの教本』でも多用しているローカルウィンドウで、オブジェクト変数の中身を確認しましょう。
2つの系列を含むグラフで、その1つをフィルタリングした状態で実行しているので、FullSeriesCollection.Countは「2」と表示され、SeriesCollection.Countは「1」と表示されています。
グラフに表示されているデータ系列のみを処理したいのであればSeriesCollection、グラフの元になっているけれど実行時に非表示になっているデータも含んで処理したい場合にはFullSeriesCollectionを使ってください。
最終更新日時:2022-07-02 06:36
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » SeriesCollectionとFullSeriesCollectionの違い