我做了一個宏,它根據我在列表框(Lbox1)中做出的選擇在多個數據系列上創建一個動態圖表。只要我在列表框中進行任何選擇,宏就會運行。但是,每當我刪除所有數據系列以創建新圖表時,它會引發錯誤。 我是VBA的新手。請幫我解決這個問題。VBA刪除動態圖表中的所有數據系列
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
你應該通過的SeriesCollection'因爲我向後步驟= K至1個步驟-1' –
什麼是錯誤訊息? –
蒂姆的推理背後的季節是因爲我們說有3系列..你刪除系列集合(1)<---,第二個成爲第一個,第三個成爲第二個系列。所以你會得到一個「vba out of subscript range」error – Larry