6

根据我在列表框 (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
4

3 回答 3

16

试试这个,

Sub temp()
  ActiveSheet.ChartObjects("Chart 1").Activate
  For Each s In ActiveChart.SeriesCollection
      s.Delete
  Next s
End Sub
于 2012-10-17T23:36:13.813 回答
9

您可以使用Sheets("Plan1").ChartObjects(1).Chart.ChartArea.ClearContents

于 2015-04-01T11:40:17.717 回答
1

Excel 2010

ActiveChart.ChartArea.ClearContents
于 2019-05-01T09:53:49.033 回答