「vba グラフシートの名前の取得」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excel VBAで、グラフシートの名前を取得するには、どのようなコードを書けばいいのかを探している方による検索です。
グラフシートの名前は、ChartオブジェクトのNameプロパティで取得することができますが、
「vba グラフシートの名前の取得」
という検索キーワードでは、具体的にどんなことをしたかったのかまではわかりませんので、アクティブなブックの、すべてのグラフシートを順番に取得するマクロを2つご紹介しておきます。
For Each~Nextループでグラフシートの名前を取得するサンプルマクロ
以下のマクロを実行すると、アクティブなブックのグラフシートの名前が、順番にメッセージボックスに表示されます。Dim cht As Chart
For Each cht In Charts
MsgBox cht.Name
Next
End Sub
Chartsプロパティを利用すると、すべてのグラフシートを表す(Chartオブジェクトだけを単独のオブジェクトとして含む)Sheetsコレクションオブジェクトを取得できます。
Chartsプロパティで取得したSheetsコレクションオブジェクトから、For Each~Nextループで順番にChartオブジェクトを取得して、
Dim cht As Chart
For Each cht In Charts
Chartオブジェクトの名前をメッセージボックスに表示しています。
MsgBox cht.Name
For~Nextループでグラフシートの名前を取得するサンプルマクロ
オブジェクト変数を使うFor Each~Nextループは、通常カウンター変数を使ったFor~Nextループで書くこともできますから、以下のようなマクロでも、グラフシートの名前を順番に取得できます。Dim i As Long
For i = 1 To Charts.Count
MsgBox Charts(i).Name
Next
End Sub
Countプロパティを使えば、グラフシートの枚数を取得できますので、
1枚目からグラフシートの枚数だけFor~Nextループを回して、
For i = 1 To Charts.Count
順番にグラフシートを表すChartオブジェクトを取得して、名前をメッセージボックスに表示しています。
MsgBox Charts(i).Name
最終更新日時:2023-04-23 06:29
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで全グラフシートの名前を取得する