VBA – 多个系列图表

我正在尝试通过循环将两个系列添加到单个XY散点图。 目前,我的代码创build了两个图表。 X值是恒定的,但Y值改变,所以我将它们添加到数组来保存它们。

Sub test() Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("Sheet1") Dim thearray(9) As Double Dim chrt As Chart Dim n As Integer, i As Integer, q As Integer For q = 1 To 2 For i = 0 To 9 thearray(i) = WorksheetFunction.RandBetween(1, 20) Next Set chrt = sh.Shapes.AddChart.Chart With chrt .ChartType = xlXYScatterLines .SeriesCollection.NewSeries .SeriesCollection(1).Name = "TEST" .SeriesCollection(1).XValues = Range("B2:K2") .SeriesCollection(1).Values = thearray .SeriesCollection(1).MarkerSize = 4 For n = .SeriesCollection.Count To 2 Step -1 .SeriesCollection(n).Delete Next n End With Next End Sub 

我感谢提供的任何帮助。

编辑:我试过改变

 .SeriesCollection(1) 

 .SeriesCollection(q) 

但它不起作用。

编辑2:我想通了。 我拿了

  Set chrt = sh.Shapes.AddChart.Chart 

在循环中,并用.SeriesCollection中的qreplace1

代码是有效的。

 Sub test() Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("Sheet1") Dim thearray(9) As Double Dim chrt As Chart Dim n As Integer, i As Integer, q As Integer Set chrt = sh.Shapes.AddChart.Chart For q = 1 To 2 For i = 0 To 9 thearray(i) = WorksheetFunction.RandBetween(1, 20) Next With chrt .ChartType = xlXYScatterLines .SeriesCollection.NewSeries .SeriesCollection(q).Name = "HFF " & q .SeriesCollection(q).XValues = Range("B2:K2") .SeriesCollection(q).Values = thearray .SeriesCollection(q).MarkerSize = 4 For n = .SeriesCollection.Count To 3 Step -1 .SeriesCollection(n).Delete Next n End With Next End Sub