質問
以下のようなサンプルコード作ってみましたけど、画面表示外にあるオブジェクトが何かわからないですね。
選択しているところに画面を移動できれば使い勝手はあがるのですが、ぱっとはできませんでした。
Sub ShapeDelete()
Application.ScreenUpdating = True
For Each objShape In ActiveSheet.Shapes
objShape.Select
ret = MsgBox(objShape.Name & " を削除しますか?", vbYesNo)
If ret = vbYes Then
objShape.Delete
End If
Next objShape
End Sub
desatoさん の目的だったら、必要なオブジェクトのみ選択して、
別シートに貼り付けて、元シートのオブジェクトを全削除、
その後オブジェクトを戻す。でもできるかと
このときA1にオブジェクトを追加しておくと位置がずれないです。
後シートが重たいのであれば、不要な条件付書式と名前がないか
確認しておくとよいと思います。
いろいろなご意見をありがとうございます 参考にさせていただきます
実例としては 組織図 なのですが 組織の四角やそれをつなぐ線がいっぱいるのです しかも行・列の削除を何度もやっているのでオブジェクトが潰れて見えなくなっています。
ジャンプ>オブジェクト で選択すると 見えてるもの、見えないものが重なりあってどれがどれだかぐちゃぐちゃです マウスで選択しているとちょっとのズレで選択を誤り、必要なものを消してしまいそうです
質問
ExcelVBAの質問ですが「シート内にあるオブジェクトを選択削除するマクロ命令」を作る方法、もしくはヒントをいただけないでしょうか
目的は 隠れたオブジェクトを探して不要なら削除する
列・行・セルの削除を繰り返すとオブジェクトが極小になって見えないけれど存在してすごく容量を食うことがあります。その見えないオブジェクトを削除したいのです。
シートを指定してマクロを走らせると オブジェクトを一つづつ選択して[削除してよいですか はい/いいえ]を出す。どのオブジェクトを選択しているかを選択しているかをどのように表現するかがミソです。
よろしくお願いします。