我正在尝试创建一个只有一个系列的散点图,其值来自多行。在我的代码中,我附加了每行的数据,但出现错误。我感谢任何形式的支持。
Private Sub generate_scatterplot()
Dim oChartObj As ChartObject
Dim oChart As Chart
Dim rSourceData As Range
Set oChartObj = ActiveSheet.ChartObjects.Add(Top:=10, Left:=325, Width:=600, Height:=300)
Set oChart = oChartObj.Chart
Set rSourceDataX = Range("A2:C5")
Set rSourceDataY = Range("D2:F5")
With oChart
.ChartType = xlXYScatter
Set s = .SeriesCollection.NewSeries
s.XValues = ""
s.Values = ""
For i = 1 To rSourceDataX.Rows.Count
s.XValues = "=" & s.XValues & rSourceDataX.Rows(i)
s.Values = "=" & s.Values & rSourceDataY.Rows(i)
Next i
End With
End Sub
错误:类型不匹配(For 循环内的第一行)
类似这样的:
Sub generate_scatterplot()
Dim rSourceDataX As Range, rSourceDataY As Range
Set rSourceDataX = Range("A2:C5")
Set rSourceDataY = Range("D2:F5")
Dim aSourceDataX, aSourceDataY, v, i As Long
ReDim aSourceDataX(1 To rSourceDataX.Count) As Double
ReDim aSourceDataY(1 To rSourceDataY.Count) As Double
i = 0
For Each v In rSourceDataX
i = i + 1
aSourceDataX(i) = v
Next v
i = 0
For Each v In rSourceDataY
i = i + 1
aSourceDataY(i) = v
Next v
Dim oChartObj As ChartObject
Set oChartObj = ActiveSheet.ChartObjects.Add(Top:=10, Left:=325, Width:=600, Height:=300)
With oChartObj.Chart
.ChartType = xlXYScatter
With .SeriesCollection.NewSeries
.XValues = aSourceDataX
.Values = aSourceDataY
End With
End With
End Sub