オートシェイプ

Excelにたくさんのオートシェイプがあって、全部を一度に削除したい時があります。

でも、量が多かったり、隠れていたりすると削除が大変ですよね。

VBAを使うと簡単に削除することができます。

シートにある全てのオートシェイプを削除する方法と、特定の名前のオートシェイプを削除する方法、特定の名前以外のオートシェイプを削除する方法の記録です。

複数のオートシェイプを削除したい

< スポンサーリンク >





全てのオートシェイブを削除する

VBEに次のように書き込みます。

アクティブシートの全てのオートシェイプを順番に削除していくコードです。

Private Sub test()
  Dim s As Shape
  For Each s In ActiveSheet.Shapes
    s.Delete
  Next
End Sub
全てのオートシェイプを順番に削除VBA

書き込んだVBAを実行すると、全てのオートシェイプが削除されます。

オートシェイプ削除完了

特定の名前のオートシェイプを削除する

特定の1つのオートシェイプを削除する

VBEに次のように書き込みます。

アクティブシートの全てのオートシェイプを順番にループし、オートシェイプの名前と一致したら削除していくコードです。

Private Sub test()
  Dim s As Shape
  For Each s In ActiveSheet.Shapes
    If s.Name = "Oval 1" Then
      s.Delete
    End If
  Next
End Sub
特定のオートシェイプを順番に削除VBA

書き込んだVBAを実行すると、特定の名前のオートシェイプが削除されます。

オートシェイプ削除完了

特定の名前で始まる全てのオートシェイブを削除する

VBEに次のように書き込みます。

アクティブシートの全てのオートシェイプを順番にループし、オートシェイプが「Oval」で始まる名前と一致したら削除していくコードです。

Private Sub test()
  Dim s As Shape
  For Each s In ActiveSheet.Shapes
    If s.Name Like "Oval*" Then
      s.Delete
    End If
  Next
End Sub
特定のオートシェイプを順番に削除VBA

特定の名前以外のオートシェイブを削除する

VBEに次のように書き込みます。

Private Sub test()
  Dim s As Shape
  For Each s In ActiveSheet.Shapes
    If s.Name <> "Oval 1" Then
      s.Delete
    End If
  Next
End Sub
特定のオートシェイプ以外を順番に削除VBA

書き込んだVBAを実行すると、特定の名前以外のオートシェイプが削除されます。

オートシェイプ削除完了

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします