[[20090301221856]] 『勝手大量に張り付くオブジェクトの削除』(くぅ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『勝手大量に張り付くオブジェクトの削除』(くぅ)

 作業中のエクセルファイルに透明なオートシェイプが張付いているようです。

 出来たら一度にブック全部から取り除くようにしたいのですが、
順番にアクティブシートにしていくほうがいいのでしょうか?

 Sub DelObjct()
    With ActiveSheet
             .DrawingObjects.Delete
        End If
    End With
End Sub

 透明なのが張り付いているのがわかったのは、ポインターが→の黒十字になるので
クリックしてみたら選択できたためです。
 オートシェイプの番号が167になっており削除してもと同じところで166を選択できます。

 Excel2002、WindowsXPですがどういう条件で発生するのかご存知でしたらお教えください。
オートシェイプはエクセルではほとんど使用していません。

 10年ほど前にも、オートシェイプが勝手に2000近く張付いてしまったファイルを扱ったことがあります。
このときは、1シートのみで、透明ではありませんでしたが、同じ位置に山もりでした。

よろしくお願いします


 こんにちは。かみちゃん です。

 > 作業中のエクセルファイルに透明なオートシェイプが張付いているようです。

 私もたまに同じようなことを経験します。

 > 一度にブック全部から取り除くようにしたいのですが、
 > 順番にアクティブシートにしていくほうがいいのでしょうか

 私は、以下のような感じで対処しています。
 Sub DelObjct2()
   Dim ws As Worksheet

   For Each ws In Worksheets
     ws.DrawingObjects.Delete
   Next
 End Sub

 > 透明なのが張り付いているのがわかったのは、ポインターが→の黒十字になるので
 > クリックしてみたら選択できたためです。

 [図形描画] ツールバーの[図形の選択] ボタン(白の上向き矢印)で範囲指定して、見つけて消すこともできます。

 > Excel2002、WindowsXPですがどういう条件で発生するのかご存知でしたらお教えください。

 新規シートで、一度、オートシェイプを適当に配置して、その配置したオートシェイプが含まれる、
 行または列全体を削除して、今度は、その削除した行や列を別の行や列にコピーしてみてください。
 そうすると、目視できないオートシェイプが増大しているはずです。
 また、以下のようなところも参考になりますでしょうか?
http://pc.nikkeibp.co.jp/article/NPC/20070606/273844/?P=2

 (かみちゃん)
 2009-03-01 23:22


ありがとうございます。(くぅ)
すっきりと助かります。

 セルなどを削除しても残るのは知っていますがそのことでしょうか?
わたしはエクセルでオートシェイプは使用しません。
このファイルもデータシートを作成中のシートで、一度も使用してないですし、
オートシェイプの形も押しつぶされたものでもなくかなり大きなものです。
 ほかのブックからコピーした範囲もありですが、
同じ位置に同じオートシェイプが増殖するような操作はしてないはずなんですが。


 こんにちは。かみちゃん です。

 > 操作はしてないはず

 私には、その辺の事情がよくわかりません。
 そのブックを、くぅさん以外が使っているということはないのでしょうか?
 他のブックからコピーしてきたときに、増大しているということはありませんか?

 (かみちゃん)
 2009-03-01 23:55


(くぅ)
 今回は透明ですから、なんともいえませんが 10年前のも、サイズ0ではなく
同じものが同じ位置に大量にありました。
いらないオートシェイプをdeleteしても下に同じものが現れるので、deleteが出来ないように見えます。

 元にあったとしても同じ物の数が多すぎますし使う必要のないファイルです
 >他のブックからコピーしてきたときに、増大
コピーの際に、1つのオートシェイプが100個とか貼り付くということでしょうか?

 ほかのトピに透明オブジェクトが出来貼り付けがうまくいかないというのがありましたが

 何もしていないのに、勝手にシェイプが増殖することはありません。
 一つのシェイプが一回の貼り付けでいきなり100個になることもないでしょう。

 シェイプは、それが載っているセル範囲をコピーした際
 一緒にコピーされます。
 セルを選択して、Deleteした場合 セルの内容は消えますが
 コピーされたシェイプは消えません。

 たとえば、シェイプの乗った範囲をコピーし同じ場所へ貼り付ける操作を繰り返した場合
 最初は1つのシェイプでも、2回目で2つ 3回目で4つ 4回目で8つ・・・・
 7回目で100を超えてしまいます。(128です。)
 10回で1000を超えますから、11回で2000を超えます。

 シェイプがあった範囲を含む範囲に
 貼り付けが行われるような操作はありませんでしたか?
 シェイプがあった範囲をコピーし、同じところに貼り付ける
 という操作を したことはありませんか?
 シェイプがあった範囲を別のシートに貼り付ける操作はありませんか?
 シート全体をコピーして、貼り付ける 等の操作は?

 どの様なブックなのか。どのような運用なのか。
 どの様な性質の方が使用しているのか。どこに重なっているのか。
 全く分かりませんので、推測と言えるような推測すらできませんが。

 シェイプが重なっている事は、なかなか気づきにくいです。
 透明なシェイプであれば、なおさらだと思います。
  気づかないうちにそれだけ貼り付けされていた
 というのが妥当なところだと思いますが。

 ご自身しか使わないファイルであれば 気をつけて確認するようにしておけば
 何をやった時にシェイプが貼りつくのか わかりそうに思います。
 他の方も使用するファイルであれば、その方が何をやっているのかは
 わからないですよね。

 今後も増えるようであれば、気をつけて見ておくのが良いと思いますが。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.