Using VBA to Delete a Chart

  • Thread starter Thread starter MikeM
  • Start date Start date
M

MikeM

Suppose I create a chart with

Charts.Add
set thisChart = ActiveChart

Why can't I delete it with

thisChart.Delete?
 
Macro just recorded
Sub Macro3()
'
' Macro3 Macro
' Macro recorded 10/13/2003 by Don Guillett
'

'
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
ActiveWindow.Visible = False
ActiveWindow.WindowState = xlNormal
ActiveWindow.WindowState = xlMaximized
End Sub
 
Hi:

This worked fine for me:

Sub Test()
Dim thisChart As Chart
Charts.Add
Set thisChart = ActiveChart
thisChart.Delete
End Sub

I did get an alert before the deletion, but that is easily suppressed using
the DisplayAlerts property of the Application object.

Regards,

Vasant.
 
Sub MakeandBreak()
Charts.Add
Set thisChart = ActiveChart
thisChart.Delete

End Sub

worked fine for me. Prompted if I wanted to delete the chart

Sub MakeandBreak()
Charts.Add
Set thisChart = ActiveChart
Application.DisplayAlerts = False
thisChart.Delete
Application.DisplayAlerts = True
End Sub

that said, this works because ThisChart is visible to the procedure where I
delete it. I suspect that is not your case. You need to declare thischart
as a public variable - do it at the top of a general module outside any
procedure

Public thisChart as Chart

Sub CreateChart
Charts.Add
Set thisChart = ActiveChart
End Sub

Sub deleteChart
Application.DisplayAlerts = False
thisChart.Delete
Application.DisplayAlerts = True
End Sub

that should work.
 
Back
Top