[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『既成グラフをマクロでアクティブ化する際に』(よし)
どなたか教えて頂けないでしょうか?
棒グラフをエクセルで作成し、マクロでそのグラフを操作するためにアクティブ化する際に、例えば以下のような表現になってます(マクロの記録で確認)。
ActiveSheet.ChartObjects("グラフ3").Activate
もとの棒グラフをコピーペーストして5つぐらいグラフを作っておりまして、マクロで5つのグラフを順番にアクティブ化していきたいです。
その際にFor分を使って、マクロで順にグラフを操作していきたいのですが、"グラフ3"とい名前がネックになってます。このグラフに自動で付けられた名前("グラフ3")をマクロ以外で変えることは可能でしょうか?
どなたか教えて頂けると幸いです。
グラフをどのように操作していきたいかはわかりませんが、以下のようなことで 対応できますでしょうか。 Sub Test() For Each MyObj In ActiveSheet.ChartObjects MyName = MyObj.Name 'グラフ名の取得 MyObj.Delete 'グラフの削除 Next MyObj End Sub
(川野鮎太郎)
前に似たような事があったなぁという事で発掘… [[20041013115123]]『グループ化したグループ名の固定』(ちづ) (ご近所PG)
ご回答ありがとうございます。 基本的に、マクロ素人なので、(川野鮎太郎)さんと(ご近所PG)さんのアドバイスが完全に 理解できてない所もあると思いますが、上手くいきません。 グラフを操作したい内容ですが、5つのグラフのタイトルを順にマクロで自分の好きな名前に 変えていきたいです。 5つのグラフは1つのシート内にあります。最初のグラフをコピーペーストして他の4つを作 成しているせいかグラフのプロパティ的な名前が勝手に"グラフ3"、"グラフ9"・・・などと付 けられています。 マクロでグラフのタイトルを順に変えていくには、順にグラフをアクティブ化して順にタイト ル変更していけばよいのかなと考えてます。 その際にFor文などを使って、順にグラフをアクティブ化→タイトル名変更、と繰り返し処理 したいと考えているのですが、グラフの名前が適当な名前ではないため、それができません。
例えば、 For i=1 To 5 ActiveSheet.ChartObjects("グラフ"& i).Activate ・・・ ・・・ Next としたいです。 そこでグラフの名前が、"グラフ1""グラフ2""グラフ3"...と自分で変更できないものかな〜と 思いまして質問させて頂いた次第です。 素人的な質問ですみません。 ご回答頂けると幸いです。 (よし)
カタカナ使うと番号の規則が変になるみたいですね。 これでやったら上手くいきました。 Sub Test() i = 1 For Each MyObj In ActiveSheet.ChartObjects MyObj.Name = "Chart " & i i = i + 1 Next MyObj End Sub
全てのグラフのタイトルを変えるのであれば、以下のようなことでも可能のようです。 Sub Test1() For Each MyObj In ActiveSheet.ChartObjects With MyObj.Chart .HasTitle = True .ChartTitle.Caption = "川野鮎太郎" End With Next MyObj End Sub
(川野鮎太郎)
ご回答ありがとうございます。 私の応用がきかないせいか、すぐには理解できてません。 For Each MyObj In ActiveSheet.ChartObjects の使い方についてもっと勉強したいと思います。 (よし)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.