VBA – 创build一个图表,每个系列代表一个数据点
我正在尝试写一些VBA,它会自动填充散点图,以便表中的每一行(x,y)代表一个序列,即每个序列一个点。 到目前为止,我附上我的代码。 但是当我来运行它会失败,下面的运行时错误
“运行时错误”438“:
对象不支持这个属性或方法。
Sub CreateChart() Dim NPOINTS As Integer Dim NVAL(1000) As Range, XVAL(1000) As Range, YVAL(1000) As Range Sheets("Scenario").Select Range("B4").Select NPOINTS = Worksheets("Scenario").Range(Selection, Selection.End(xlDown)).Rows.Count Set Scenario = Worksheets("Scenario") ActiveSheet.Shapes.AddChart2(240, xlXYScatter).Select NVAL0 = "B3" XVAL0 = "C3" YVAL0 = "D3" For i = 1 To NPOINTS Set NVAL(i) = Cells(Range(NVAL0).Offset(i, 0).Row, Range(NVAL0).Column) Set XVAL(i) = Cells(Range(XVAL0).Offset(i, 0).Row, Range(XVAL0).Column) Set YVAL(i) = Cells(Range(YVAL0).Offset(i, 0).Row, Range(YVAL0).Column) ActiveChart.SeriesCollection.NewSeries ActiveChart.FullSeriesCollection(i).Name = NVAL(i) ActiveChart.FullSeriesCollection(i).XValues = XVAL(i) ActiveChart.FullSeriesCollection(i).YValues = YVAL(i) Next
结束小组
我哪里错了?
散点图中的y值存储在Values
,而不是YValues
Values
,所以您需要相应地更改最后一行。