- ベストアンサー
エクセル:シートの全コピー貼り付けでオートシェイプを除いて実行
エクセルのシート(Cells)の全データをコピー&(別のシートへ)貼りつける(マクロを使用して貼りつけています)とき、「オートシェイプ」だけを除いた全データを貼り付けることは可能でしょうか? そのオートシェイプはマクロボタンとしているのですが、マクロを実行するたびにオートシェイプの貼付けが繰替えされるため、どんどん重なっていくのを防ぎたいのです。よろしくご指導ください。 ※このオートシェイプの貼付の繰返しによりファイルが重くなることはないでしょうか?ないのなら無視してもよいかとは思っています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。KenKen_SP です。 一度貼り付けた後で、削除するば良いかと。オートシェープや画像 とかボタンなど全てを一度に削除するなら、 ActiveSheet.DrawingObjects.Delete です。残して置きたいオブジェクトがある場合は、以下のように ループさせて、一個一個判別しながら削除します。次のコードは 画像以外を削除しています。 Dim OBJ As Object For Each OBJ In ActiveSheet.DrawingObjects '削除するオブジェクトを判定します If TypeName(OBJ) <> "Picture" Then OBJ.Delete End If Next OBJ >このオートシェイプの貼付の繰返しによりファイルが重くなる >ことはないでしょうか?ないのなら無視してもよいかとは思っ >ています 不要なら削除した方がファイルも軽いし、何よりエラー予防のた めにも削除した方が良いと思います。
お礼
KenKen_SPさん、ありがとうございます。 今のところ、すべてオブジェクトは削除と 思っています。 本当にありがとうございました。