[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Ardy

12/14/2006 4:02:00 AM

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 Where:=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

4 Answers

NickHK

12/14/2006 4:33:00 AM

0

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" <ardy@totlsolution.com> wrote in message
news:1166068947.190779.299600@t46g2000cwa.googlegroups.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 Where:=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

12/14/2006 6:14:00 AM

0

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" <ardy@totlsolution.com> wrote in message
> news:1166068947.190779.299600@t46g2000cwa.googlegroups.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 Where:=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

12/14/2006 3:29:00 PM

0

Ardy's chart is an embedded chart:

>> ActiveChart.Location Where:=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("Roster").ChartObjects.Count).Delete

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


"NickHK" <TungCheWah@Invalid.com> wrote in message
news:udc5bjzHHHA.3268@TK2MSFTNGP04.phx.gbl...
> 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" <ardy@totlsolution.com> wrote in message
> news:1166068947.190779.299600@t46g2000cwa.googlegroups.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 Where:=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

12/14/2006 9:26:00 PM

0

Thanks Jon,
Works Much Cleaner.
Jon Peltier wrote:
> Ardy's chart is an embedded chart:
>
> >> ActiveChart.Location Where:=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("Roster").ChartObjects.Count).Delete
>
> - Jon
> -------
> Jon Peltier, Microsoft Excel MVP
> Tutorials and Custom Solutions
> http://Pelti...
> _______
>
>
> "NickHK" <TungCheWah@Invalid.com> wrote in message
> news:udc5bjzHHHA.3268@TK2MSFTNGP04.phx.gbl...
> > 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" <ardy@totlsolution.com> wrote in message
> > news:1166068947.190779.299600@t46g2000cwa.googlegroups.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 Where:=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
> >>
> >
> >