ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Deleting Charts (https://www.excelbanter.com/excel-programming/379393-deleting-charts.html)

Ardy

Deleting Charts
 
Hello All:
I am creating a chart by ht following code, that is activated via
command button.

Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Charts.Add
ActiveChart.Location Whe=xlLocationAsObject, Name:="Roster"
With ActiveChart
.SetSourceData Source:=Sheets("Roster").Range("A2:E5"), PlotBy:= _
xlRows
.HasTitle = True
.ChartType = xlColumnClustered
.HasLegend = False
.SeriesCollection(1).XValues = "=Roster!R2C1:R5C1"
.SeriesCollection(1).Values = "=Roster!R2C4:R5C4"
.SeriesCollection(1).Name = "=Roster!R1C4"
.SeriesCollection(2).Values = "=Roster!R2C5:R5C5"
.SeriesCollection(2).Name = "=Roster!R1C5"
.ChartTitle.Characters.Text = "Concepts About Print"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With

I want to delete this chart via another command Button using this
code, it is not working, Any Idea

Private Sub CommandButton4_Click()
ActiveSheet.ChartObject.Delete
End Sub


NickHK

Deleting Charts
 
One way is to create a module level variable to use;
Dim MyChart As Chart

Private Sub CommandButton1_Click()
Set MyChart = Charts.Add
End Sub

Private Sub CommandButton2_Click()
If Not MyChart Is Nothing Then
Application.DisplayAlerts = False
MyChart.Delete
Application.DisplayAlerts = True
Set MyChart = Nothing
End If
End Sub

NickHK

"Ardy" wrote in message
oups.com...
Hello All:
I am creating a chart by ht following code, that is activated via
command button.

Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Charts.Add
ActiveChart.Location Whe=xlLocationAsObject, Name:="Roster"
With ActiveChart
.SetSourceData Source:=Sheets("Roster").Range("A2:E5"), PlotBy:= _
xlRows
.HasTitle = True
.ChartType = xlColumnClustered
.HasLegend = False
.SeriesCollection(1).XValues = "=Roster!R2C1:R5C1"
.SeriesCollection(1).Values = "=Roster!R2C4:R5C4"
.SeriesCollection(1).Name = "=Roster!R1C4"
.SeriesCollection(2).Values = "=Roster!R2C5:R5C5"
.SeriesCollection(2).Name = "=Roster!R1C5"
.ChartTitle.Characters.Text = "Concepts About Print"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With

I want to delete this chart via another command Button using this
code, it is not working, Any Idea

Private Sub CommandButton4_Click()
ActiveSheet.ChartObject.Delete
End Sub




Ardy

Deleting Charts
 
Thanks.......

NickHK wrote:
One way is to create a module level variable to use;
Dim MyChart As Chart

Private Sub CommandButton1_Click()
Set MyChart = Charts.Add
End Sub

Private Sub CommandButton2_Click()
If Not MyChart Is Nothing Then
Application.DisplayAlerts = False
MyChart.Delete
Application.DisplayAlerts = True
Set MyChart = Nothing
End If
End Sub

NickHK

"Ardy" wrote in message
oups.com...
Hello All:
I am creating a chart by ht following code, that is activated via
command button.

Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Charts.Add
ActiveChart.Location Whe=xlLocationAsObject, Name:="Roster"
With ActiveChart
.SetSourceData Source:=Sheets("Roster").Range("A2:E5"), PlotBy:= _
xlRows
.HasTitle = True
.ChartType = xlColumnClustered
.HasLegend = False
.SeriesCollection(1).XValues = "=Roster!R2C1:R5C1"
.SeriesCollection(1).Values = "=Roster!R2C4:R5C4"
.SeriesCollection(1).Name = "=Roster!R1C4"
.SeriesCollection(2).Values = "=Roster!R2C5:R5C5"
.SeriesCollection(2).Name = "=Roster!R1C5"
.ChartTitle.Characters.Text = "Concepts About Print"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With

I want to delete this chart via another command Button using this
code, it is not working, Any Idea

Private Sub CommandButton4_Click()
ActiveSheet.ChartObject.Delete
End Sub



Jon Peltier

Deleting Charts
 
Ardy's chart is an embedded chart:

ActiveChart.Location Whe=xlLocationAsObject, Name:="Roster"


This will clear all charts on Roster:

Worksheets("Roster").ChartObjects.Delete

This will delete just the last one created:

Worksheets("Roster").ChartObjects(Worksheets("Rost er").ChartObjects.Count).Delete

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______


"NickHK" wrote in message
...
One way is to create a module level variable to use;
Dim MyChart As Chart

Private Sub CommandButton1_Click()
Set MyChart = Charts.Add
End Sub

Private Sub CommandButton2_Click()
If Not MyChart Is Nothing Then
Application.DisplayAlerts = False
MyChart.Delete
Application.DisplayAlerts = True
Set MyChart = Nothing
End If
End Sub

NickHK

"Ardy" wrote in message
oups.com...
Hello All:
I am creating a chart by ht following code, that is activated via
command button.

Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Charts.Add
ActiveChart.Location Whe=xlLocationAsObject, Name:="Roster"
With ActiveChart
.SetSourceData Source:=Sheets("Roster").Range("A2:E5"), PlotBy:= _
xlRows
.HasTitle = True
.ChartType = xlColumnClustered
.HasLegend = False
.SeriesCollection(1).XValues = "=Roster!R2C1:R5C1"
.SeriesCollection(1).Values = "=Roster!R2C4:R5C4"
.SeriesCollection(1).Name = "=Roster!R1C4"
.SeriesCollection(2).Values = "=Roster!R2C5:R5C5"
.SeriesCollection(2).Name = "=Roster!R1C5"
.ChartTitle.Characters.Text = "Concepts About Print"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With

I want to delete this chart via another command Button using this
code, it is not working, Any Idea

Private Sub CommandButton4_Click()
ActiveSheet.ChartObject.Delete
End Sub






Ardy

Deleting Charts
 
Thanks Jon,
Works Much Cleaner.
Jon Peltier wrote:
Ardy's chart is an embedded chart:

ActiveChart.Location Whe=xlLocationAsObject, Name:="Roster"


This will clear all charts on Roster:

Worksheets("Roster").ChartObjects.Delete

This will delete just the last one created:

Worksheets("Roster").ChartObjects(Worksheets("Rost er").ChartObjects.Count).Delete

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______


"NickHK" wrote in message
...
One way is to create a module level variable to use;
Dim MyChart As Chart

Private Sub CommandButton1_Click()
Set MyChart = Charts.Add
End Sub

Private Sub CommandButton2_Click()
If Not MyChart Is Nothing Then
Application.DisplayAlerts = False
MyChart.Delete
Application.DisplayAlerts = True
Set MyChart = Nothing
End If
End Sub

NickHK

"Ardy" wrote in message
oups.com...
Hello All:
I am creating a chart by ht following code, that is activated via
command button.

Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Charts.Add
ActiveChart.Location Whe=xlLocationAsObject, Name:="Roster"
With ActiveChart
.SetSourceData Source:=Sheets("Roster").Range("A2:E5"), PlotBy:= _
xlRows
.HasTitle = True
.ChartType = xlColumnClustered
.HasLegend = False
.SeriesCollection(1).XValues = "=Roster!R2C1:R5C1"
.SeriesCollection(1).Values = "=Roster!R2C4:R5C4"
.SeriesCollection(1).Name = "=Roster!R1C4"
.SeriesCollection(2).Values = "=Roster!R2C5:R5C5"
.SeriesCollection(2).Name = "=Roster!R1C5"
.ChartTitle.Characters.Text = "Concepts About Print"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With

I want to delete this chart via another command Button using this
code, it is not working, Any Idea

Private Sub CommandButton4_Click()
ActiveSheet.ChartObject.Delete
End Sub






All times are GMT +1. The time now is 08:51 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com