動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2202 ビルド14931.20132 Microsoft Store)
「Legend.LegendEntries名称」
「Chart.Legend.LegendEntriesの名前」
といった検索キーワードで時折アクセスがあります。
例えば、下図のようなグラフがあるときに、
凡例に表示されている「abc」「def」という文字列を取得するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。
凡例に表示されている文字列を取得するサンプルマクロ
先ほどのグラフがアクティブな状態で、以下のExcelマクロを実行すると、凡例に表示されている文字列がイミディエイトウィンドウに出力されます。
Sub データ系列名を取得する()
Dim srs As Series
For Each srs In ActiveChart.SeriesCollection
Debug.Print srs.Name
Next
End Sub
Dim srs As Series
For Each srs In ActiveChart.SeriesCollection
Debug.Print srs.Name
Next
End Sub
凡例に表示されているのは系列の名前
「Legend.LegendEntries名称」
「Chart.Legend.LegendEntriesの名前」
と検索なさった方は、凡例に表示されている文字列だから、凡例項目を表すLegendEntriesコレクションやLegendEntryオブジェクトを使って取得できると考えたのではないかと想像しているのですが、違います。
凡例に表示されているのは、データ系列の名前に過ぎません。
Excelで凡例に表示されている文字列を直接変更することは不可能で、[系列の編集]ダイアログボックス等から変更します。
VBAから操作する場合も同じで、データ系列を表すSeriesオブジェクトのNameプロパティで、
凡例に表示されている文字列を取得できます。
最終更新日時:2022-07-08 15:16
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » LegendEntryの名前を取得したい??