1) 完全合格
Cells
使用工作表名称
ActiveChart.FullSeriesCollection(1).XValues = ActiveWorkbook.Sheets("Data_Portfolio").Range(ActiveWorkbook.Sheets("Data_Portfolio").Cells(RangeStart, 1), ActiveWorkbook.Sheets("Data_Portfolio").Cells(RangeStop, 1))
2) 还应确保有一个系列(1)要添加到,对于某些版本,最好使用
SeriesCollection
而不是
FullSeriesCollection
。
3) 使用Long而不是Integer以避免潜在的溢出。
以下示例:
Option Explicit
Public Sub test()
Dim RangeStart As Long
Dim RangeStop As Long
RangeStart = 1
RangeStop = 5
Dim ws As Worksheet
Set ws = ActiveWorkbook.Worksheets("Data_Portfolio")
Worksheets("Result").ChartObjects("Chart 2").Activate '<== Is this ActiveWorkbook or ThisWorkbook?
ActiveChart.SeriesCollection.NewSeries '<= added for demo only to ensure present
ActiveChart.SeriesCollection(1).XValues = ws.Range(ws.Cells(RangeStart, 1), ws.Cells(RangeStop, 1)) '< x
ActiveChart.SeriesCollection(1).Values = ws.Range(ws.Cells(RangeStart, 1), ws.Cells(RangeStop, 1)) ' < y copied for test purposes only
End Sub