• ベストアンサー

VBAでグラフに名前をつける方法

ひょっとしてものすごく簡単なことなのかもしれませんが行き詰っています。教えてください。 埋め込みグラフを3つ作成するマクロを記録しました。 それぞれのグラフに名前を付けて、名前を指定してグラフを選択したいのですが、作成時に ActiveSheet.ActiveChart.Name = "●●●" として ActiveSheet.ChartObjects("●●●").select としてもうまくいきません。 根本的に何かちがうのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.2

アクティブなシート上のShapesの名称は、以下で取れます。 Dim wShape Dim wShapeNM() Dim wShapeCnt As Long For Each wShape In ActiveSheet.Shapes If Left(wShape.Name, 5) = "Chart" Then ReDim Preserve wShapeNM(wShapeCnt) wShapeNM(wShapeCnt) = wShape.Name wShapeCnt = wShapeCnt + 1 End If Next 頑張ってください。

noname#121624
質問者

お礼

10日も経ってからのお礼になってしまいました。 言い訳ですが、家族の骨折さわぎがありましてしばらくサイトを見ていませんでした。本当にすみません。 ご回答いただいた通り実行したところうまくいきました。 助けていただき有難うございました。

その他の回答 (1)

  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.1

グラフを作成したときに自動的につく名前を Chart1 とすると、 ActiveSheet.Shapes("Chart1").Select Selection.Name = "xxx" ActiveSheet.ChartObjects("xxx").Active などで、名前をつけたグラフを指定できますよ。

noname#121624
質問者

補足

回答いただき有難うございます。 作成時に自動的につく名前なんですが、グラフを何度か作成・削除をしていると今何番のグラフになっているのかわからなくなってしまいます。 >ActiveSheet.Shapes("Chart1").Select この"Chart1"の部分をVBAの記述で取得する方法はないものかと…。 つたない説明ですみません。 もしご理解いただけたらお教え願えないでしょうか。

関連するQ&A

専門家に質問してみよう