• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロ 既存グラフの削除)

エクセルマクロで既存グラフを削除する方法

このQ&Aのポイント
  • エクセルのマクロを使用して、左側の表の一部を範囲指定した折れ線グラフを削除する方法について説明します。
  • また、右側の表の範囲を変更して、右の表だけを変更するマクロを作成する方法についても解説します。
  • さらに、右側の折れ線グラフ(グラフ1)を削除して新しいグラフを貼り付けるマクロを作成する際に、If文を使用する方法についても説明します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

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

meina04
質問者

お礼

グラフの名前設定が悪いらしく、うまく動作しませんでした。 アドバイスをいただいたのにすみませんでした。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

はてな??? 元々の情報提供: >右側のグラフの名前を変更して >Activesheet.ChartObjects(1).Name="グラフ1" 追加の情報: >グラフの名前設定が悪いらしく、うまく動作しませんでした。 ご自分のマクロで付けた名前をご自分のマクロで利用できないって、いったいどういう事でしょうか。 それはマクロの構文がどうこうの問題じゃなく、あなたがご自分で作成したあなたのデータの問題です。 ご自分が書いたマクロをよく見直して、いったいどんな名前を付けているのかよく確認して正しいマクロにしてください。

meina04
質問者

お礼

左側のグラフの名前を変更して Activesheet.ChartObjects(1).Name="全体グラフ" 右側のグラフの名前を変更して Activesheet.ChartObjects(1).Name="グラフ1" と入力は間違いなくしてますが、可変範囲設定のせいか、”全体グラフ”と入力したほうが削除されてしまいます。 そもそも、可変範囲設定してるのでグラフを貼りなおす必要もなかったみたいで、大変ご迷惑をおかけいたしました。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

グラフを削除する必要は無いと思います。 SetSourceDataで元データを書き換えてみてください。 どうしても削除したいのなら現状のコードを提示してみてください。

meina04
質問者

お礼

グラフ名前設定が原因で、うまく動作しませんでした。 アドバイスをいただいたのにすみませんでした。

関連するQ&A