特定の名前以外のオートシェイプ・画像をすべて削除したい
画像データの呼出などの場合、元データを削除したい場合があります。
'■特定シートの特定の名前以外のオートシェイプ・画像をすべて削除 Public Function call_DeletePicCheck(ws As Worksheet) Dim Pic As Shape For Each Pic In ws.Shapes Select Case Pic.Name Case "正方形/長方形 1", "正方形/長方形 2" '■特定の名前であれば、何もしない Case Else '■それ以外のオートシェイプ図形、画像は削除する Pic.Delete End Select Next End Function
使い方
Public Sub sample() '■最前面シート(ActiveSheet)のオートシェイプ・画像を削除(特定名以外) Call call_DeletePicCheck(ActiveSheet) '■変数wsに格納されたシートのオートシェイプ・画像を削除(特定名以外) Call call_DeletePicCheck(ws) End Sub
結果イメージ
指定したシートの特定の名前以外のオートシェイプ・画像をすべて削除します。
注意点
- 削除したオートシェイプ・画像は元に戻せません。
関連記事
- ActiveSheet以外のWorkSheetを削除する【エクセルVBA】
- 画像・図形を最前面に表示する【ショートカットキー】【ExcelVBA】
- 特定シートのオートシェイプ・画像を全て削除する【パーツ化】【ExcelVBA】
- ブック内の全てのシートのオートシェイプ・画像を削除する【パーツ化】【ExcelVBA】
コメント