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