Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで全グラフシートの名前を取得する

VBAで全グラフシートの名前を取得する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「vba グラフシートの名前の取得」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Excel VBAで、グラフシートの名前を取得するには、どのようなコードを書けばいいのかを探している方による検索です。

グラフシートの名前は、ChartオブジェクトのNameプロパティで取得することができますが、

グラフシートの名前を取得するExcelマクロ

「vba グラフシートの名前の取得」
という検索キーワードでは、具体的にどんなことをしたかったのかまではわかりませんので、アクティブなブックの、すべてのグラフシートを順番に取得するマクロを2つご紹介しておきます。

For Each~Nextループでグラフシートの名前を取得するサンプルマクロ

以下のマクロを実行すると、アクティブなブックのグラフシートの名前が、順番にメッセージボックスに表示されます。
Sub グラフシートの名前を取得する_オブジェクト変数()
 Dim cht As Chart
 For Each cht In Charts
  MsgBox cht.Name
 Next
End Sub

Chartsプロパティを利用すると、すべてのグラフシートを表す(Chartオブジェクトだけを単独のオブジェクトとして含む)Sheetsコレクションオブジェクトを取得できます。

グラフシートの名前を取得するExcelマクロ

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ループで書くこともできますから、以下のようなマクロでも、グラフシートの名前を順番に取得できます。
Sub グラフシートの名前を取得する_カウンター変数()
 Dim i As Long
 For i = 1 To Charts.Count
  MsgBox Charts(i).Name
 Next
End Sub

Countプロパティを使えば、グラフシートの枚数を取得できますので、

グラフシートの名前を取得するExcelマクロ

1枚目からグラフシートの枚数だけFor~Nextループを回して、
  For i = 1 To Charts.Count

順番にグラフシートを表すChartオブジェクトを取得して、名前をメッセージボックスに表示しています。
   MsgBox Charts(i).Name

最終更新日時:2023-04-23 06:29

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで全グラフシートの名前を取得する

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

検索


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

.