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

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

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

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

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

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

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

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

[スポンサードリンク]

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

以下のマクロを実行すると、アクティブなブックのグラフシートの名前が、順番にメッセージボックスに表示されます。


Sub グラフシートの名前を取得する_オブジェクト変数()

 Dim cht As Chart

 For Each cht In Charts
  MsgBox cht.Name
 Next cht

End Sub

Chartsプロパティを利用すると、すべてのグラフシートを表すChartsコレクションオブジェクトを取得できます。

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

オブジェクトブラウザーでは上図のとおり、Sheetsコレクションオブジェクトを返すことになっていますが、Chartオブジェクトだけを含んだSheets即ちChartsコレクションオブジェクトが返されるのと同義です。

Chartsプロパティで取得したChartsコレクションオブジェクトから、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 i

End Sub

ChartsコレクションオブジェクトのCountプロパティで、グラフシートの枚数を取得できますので、

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

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

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

[スポンサードリンク]

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

TrackBack:0

TrackBack URL

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

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

検索


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

.