- ベストアンサー
エクセルマクロで既存グラフを削除する方法
- エクセルのマクロを使用して、左側の表の一部を範囲指定した折れ線グラフを削除する方法について説明します。
- また、右側の表の範囲を変更して、右の表だけを変更するマクロを作成する方法についても解説します。
- さらに、右側の折れ線グラフ(グラフ1)を削除して新しいグラフを貼り付けるマクロを作成する際に、If文を使用する方法についても説明します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Ifを使いたいならこんなカンジで。 sub macro1() dim o as chartobject if activesheet.chartobjects.count = 0 then msgbox "NO GRAPH" exit sub end if for each o in activesheet.chartobjects if o.name = "グラフ1" then o.delete exit for end if next ’以下新たなグラフを貼り付けて名前をグラフ1に変える end sub
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
はてな??? 元々の情報提供: >右側のグラフの名前を変更して >Activesheet.ChartObjects(1).Name="グラフ1" 追加の情報: >グラフの名前設定が悪いらしく、うまく動作しませんでした。 ご自分のマクロで付けた名前をご自分のマクロで利用できないって、いったいどういう事でしょうか。 それはマクロの構文がどうこうの問題じゃなく、あなたがご自分で作成したあなたのデータの問題です。 ご自分が書いたマクロをよく見直して、いったいどんな名前を付けているのかよく確認して正しいマクロにしてください。
お礼
左側のグラフの名前を変更して Activesheet.ChartObjects(1).Name="全体グラフ" 右側のグラフの名前を変更して Activesheet.ChartObjects(1).Name="グラフ1" と入力は間違いなくしてますが、可変範囲設定のせいか、”全体グラフ”と入力したほうが削除されてしまいます。 そもそも、可変範囲設定してるのでグラフを貼りなおす必要もなかったみたいで、大変ご迷惑をおかけいたしました。
- xls88
- ベストアンサー率56% (669/1189)
グラフを削除する必要は無いと思います。 SetSourceDataで元データを書き換えてみてください。 どうしても削除したいのなら現状のコードを提示してみてください。
お礼
グラフ名前設定が原因で、うまく動作しませんでした。 アドバイスをいただいたのにすみませんでした。
お礼
グラフの名前設定が悪いらしく、うまく動作しませんでした。 アドバイスをいただいたのにすみませんでした。