>Selection.ShapeRange.Left = Range("C12:U24").Left
>Selection.ShapeRange.Top = Range("C12:U24").Top
このコードを見る限りでは図形の左上ははC12セルに張り付けているので
左上が セルC12の図形を削除
Private Sub CommandButton2_Click()
Dim c As Shape
For Each c In ActiveSheet.Shapes
If c.TopLeftCell.Address(0, 0) = "C12" Then
c.Delete
End If
Next
End Sub
こちらは参考に
Private Sub CommandButton1_Click()
Dim fname As String
fname = Application.GetOpenFilename
'キャンセルを選択したときはExit
If fname = "False" Then Exit Sub
With ActiveSheet.Pictures.Insert(fname).ShapeRange
.LockAspectRatio = msoFalse
.Height = Range("C12:U24").Height
.Width = Range("C12:U24").Width
.Left = Range("C12:U24").Left
.Top = Range("C12:U24").Top
End With
End Sub
サンプル:
Private Sub CommandButton1_Click()
Dim s As Shape
For Each s In ActiveSheet.Shapes
If s.Type = msoPicture Then s.Delete
Next
End Sub
>挿入した写真
とは違う方法でシートに貼り付けたりしていたモノについては,ダメな場合もあります。
>アクティブコントロールのボタンを使って
を使わず,もっと簡易なフォームやそれこそ図形等にマクロを登録して使えば,単純に
activesheet.pictrures.delete
等でも済ませられます。
お礼
マクロが分からない為に自分の中でこの回答をもらえば別を補えるだろうと 勝手に思い込んでしまいました。 以後気をつけたいと思います。 ありがとうございました。