Why can't I delete this shape now?

  • Thread starter Thread starter JK
  • Start date Start date
J

JK

I have been using the following code to delete a shape for the the past
several years.

Option Explicit

Sub ClearPicture()

'DELETE IMAGE MKTPKG

Dim X As Shape

On Error Resume Next

Set X = Sheets("MktPkg").Shapes(1)

If Err = 0 Then

X.Delete

End If

End Sub



In fact, it still works on one version of my software, but on the other it
mysteriously stopped working. The shape gets pasted to the worksheet just
fine, but now, for some reason, it won't delete. I've tried cleaning my code
with Rob Bovey's code cleaner, but it still doesn't execute. When I remove
the On Error Resume Next, the message says Application-defined or
application-defined error.



What happened? Even for all the changes I've been making to the program, I
never touched this.



Please help if you can. Thank you.



Jim Kobzeff
 
Hi Jim,

A protected worksheet could cause that error. Is that the problem ?


Regards,
Vic Eldridge
 
you may have the sheet protected

the code is tidied up...

Sub ClearPicture()

With ActiveSheet.Shapes
If .Count > 0 Then
.Item(1).Delete
End If
End With

End Sub
 
maybe a protected sheet, also using the err object as a control is possibly
a problem. On Error Resume Next clears the error stack, so if your If err
statement is dealt with differently. What versions of Excel are you testing
in?
 
Thank you group. A combination of adding Worksheet.Unprotect and Patrick's
tidied up procedure, got it working.
 
Back
Top