オートシェイプ・画像を削除する
シート上のオートシェイプ・ワードアートや画像オブジェクトが、非表示やサイズ「0」になっていると、見つけることが困難です。それらをまとめて消去したい時は、次のコードを使用します。アクティブシート上のオートシェイプや画像オブジェクトを全て消去します。
【お薦め】マクロ・プロシージャを管理する無料のツール!
Excelマクロ管理ツール
Excelマクロ管理ツール
サンプルコード
Sub Shapes_Delete() 'アクティブシート上にある全ての 'オートシェイプや画像オブジェクトを消去する Dim objShape As Shape With Application .ScreenUpdating = False For Each objShape In ActiveSheet.Shapes objShape.Delete Next .ScreenUpdating = True End With End Sub
上記コードはオートシェイプや画像オブジェクトなど全てのShapeオブジェクトが対象ですが、その中で特定のオブジェクトのみを消去する場合は、Typeプロパティで分岐します。TypeName関数で分岐する方法もあります。
次のコードはTypeプロパティで分岐し、画像のみを消去します。
Sub Images_Delete() 'アクティブシート上にある全ての画像オブジェクトを消去する Dim objShape As Shape With Application .ScreenUpdating = False For Each objShape In ActiveSheet.Shapes If objShape.Type = msoPicture Then objShape.Delete Next .ScreenUpdating = True End With End Sub
オートシェイプを対象にする場合は、msoPicture を msoAutoShape に変更します。
書籍紹介本を執筆しました

Excelを学びのツールに
「Excelで画像編集 ~編集機能を使い倒す!!~」(Kindle版)
Excelは表計算アプリケーションですが、画像や図形の優れた編集機能を備えています。
本書では、それらの機能や操作に焦点をあてた解説をし、あわせて編集の具体例とその方法を紹介します!!