Alvi John
Alvi John

Reputation: 81

Deleting all the data series in a dynamic chart

I create a dynamic chart on multiple data series according to the selection I make in the listbox (Lbox1).

It throws an error when I delete all the data series initially to make a fresh chart.

Public Sub listbox_selection()
    Dim i As Integer
    Dim temp As String
    Dim k As Integer
    Dim s As SeriesCollection

    k = Sheets("Plan1").ChartObjects(1).Chart.SeriesCollection.count

    ##This part giving error
    For i = 1 To k
        Sheets("Plan1").ChartObjects(1).Chart.SeriesCollection(i).Delete
    Next
    ####

    Sheets("Plan1").ListBoxes("LBox1").Select
    For i = 1 To Sheets("Plan1").Shapes("LBox1").ControlFormat.ListCount
        If Sheets("Plan1").ListBoxes("LBox1").Selected(i) = True Then
            Call Listit(X:=i)
        End If
    Next
End Sub

Public Sub Listit(ByVal X As Integer)
    X = X + 3
    With Sheets("Plan1").ChartObjects(1).Chart
        With .SeriesCollection.NewSeries
           .XValues = Range("Q2:U2")
           .Values = Range("Q" & X & ":U" & X & "")
           .Name = Range("P" & X).Value
        End With    
    End With
End Sub

Upvotes: 8

Views: 53612

Answers (3)

Lionel
Lionel

Reputation: 11

Excel 2010

ActiveChart.ChartArea.ClearContents

Upvotes: 1

3alster
3alster

Reputation: 93

You can use Sheets("Plan1").ChartObjects(1).Chart.ChartArea.ClearContents

Upvotes: 9

nightcrawler23
nightcrawler23

Reputation: 2066

Try this,

Sub temp()
  ActiveSheet.ChartObjects("Chart 1").Activate
  For Each s In ActiveChart.SeriesCollection
      s.Delete
  Next s
End Sub

Upvotes: 18

Related Questions