特定の名前以外のオートシェイプ・画像をすべて削除したい
画像データの呼出などの場合、元データを削除したい場合があります。
'■特定シートの特定の名前以外のオートシェイプ・画像をすべて削除
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】



コメント