我根据在列表框(Lbox1)中所做的选择,在多个数据系列上创建了一个动态图表。

当我最初删除所有数据系列以制作一个新图表时,它将引发错误。

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

最佳答案

尝试这个,

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

09-28 14:46