Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Pro : Microsoft 365)
円だけを削除するには?
投稿日時: 23/04/13 15:19:03
投稿者: S.Kos

みなさま、こんにちは。
 
シート上にいくつかの図形(オートシェイプ)、直線、四角形、円、三種類が複数個があります。
この中の「円だけ」を削除するには、どーしたら良いでしょうか?
 
なお、各々図形の「名前」は使用できません。

回答
投稿日時: 23/04/13 15:35:03
投稿者: taitani
投稿者のウェブサイトに移動

https://excelwork.info/excel/constmsoautoshapetype/
 
AutoShapeType = msoShapeOval を利用すればできるかもしれません。
以下例です。
’---------------------

Sub DeleteCircles()
    Dim shp As Shape
    
    For Each shp In ActiveSheet.Shapes
        If shp.AutoShapeType = msoShapeOval Then
            shp.Delete
        End If
    Next shp
End Sub

投稿日時: 23/04/13 20:33:25
投稿者: S.Kos

taitaniさん、早速のご教示ありがとうございます。
 
>If shp.AutoShapeType = msoShapeOval Then
>
これで円が削除できました!
 
実は shp.Type = msoShapeOval で巧くデキず、先の問いを投稿しました。
 
改めて御礼申しあげながら、ここで閉じます。
ありがとうございました。