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
To remove a chart's data series, click “Chart Filters” and then click “Select Data.” Select the series in the Legend Entries (Series) box, and then select “Remove.” Click “OK” to update the chart.
Click anywhere in your chart. next to the chart. On the Values tab, check or uncheck the series or categories you want to show or hide. Click Apply.
Try this,
Sub temp()
ActiveSheet.ChartObjects("Chart 1").Activate
For Each s In ActiveChart.SeriesCollection
s.Delete
Next s
End Sub
You can use Sheets("Plan1").ChartObjects(1).Chart.ChartArea.ClearContents
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With