Object variable error

A

Anya

Hello everyone,

I am having trouble creating a macro that will activate a
GIF picture within a chart and delete it. I keep getting
the following error 'object variable or with block
variable not set error'

Can someone help me with this, I'm going nuts. The macro
is below. Any help would be great.

Thanks

ActiveSheet.ChartObjects("Chart 2052").Activate
ActiveChart.Shapes("Picture 20").Select
Selection.Delete
ActiveWindow.Visible = False
 
D

Dave Peterson

Your code worked ok for me--if I had a chart named "chart 2052" and a picture in
that chart named "Picture 20".

If you only have one picture in the chart, you could do something like:

Option Explicit
Sub testme01()

Dim myChartObject As ChartObject
Dim myShape As Shape

With ActiveSheet
Set myChartObject = .ChartObjects("chart 2052")
For Each myShape In myChartObject.Chart.Shapes
If myShape.Type = msoPicture Then
'for testing:
'MsgBox myShape.Name
myShape.Delete
'just delete the first one found.
'exit for
End If
Next myShape
End With

End Sub

(if it was chart 2052.)
 
G

Guest

Thank you!!! that works great!!!

-----Original Message-----
Your code worked ok for me--if I had a chart named "chart 2052" and a picture in
that chart named "Picture 20".

If you only have one picture in the chart, you could do something like:

Option Explicit
Sub testme01()

Dim myChartObject As ChartObject
Dim myShape As Shape

With ActiveSheet
Set myChartObject = .ChartObjects("chart 2052")
For Each myShape In myChartObject.Chart.Shapes
If myShape.Type = msoPicture Then
'for testing:
'MsgBox myShape.Name
myShape.Delete
'just delete the first one found.
'exit for
End If
Next myShape
End With

End Sub

(if it was chart 2052.)


--

Dave Peterson
[email protected]
.
 
Top