Any suggestions,
The Series Values accepts a Range object or an array of values.
You have neither. Something like the following should work, assuming that
"lastrow" actually contains a numeric value...
With Worksheets("GraphData")
ActiveChart.SeriesCollection(1).Values = .Range(.Cells(4, 2), .Cells(lastrow, 2))
ActiveChart.SeriesCollection(2).Values = .Range(.Cells(4, 3), .Cells(lastrow, 3))
ActiveChart.SeriesCollection(3).Values = .Range(.Cells(4, 9), .Cells(lastrow, 9))
End With
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
"Nigel"
wrote in message
...
I have a worksheet called graphdata and another called charts. on the charts
worksheet there is chart 4. I am trying to dynamically set the range for the
chart as follows
Sheets("Charts").Activate
Range("A1").Select
ActiveSheet.ChartObjects("Chart 4").Activate
ActiveChart.ChartArea.Select
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).Values = "=GraphData!$B$4:$B" & lastrow
ActiveChart.SeriesCollection(2).Values = "=GraphData!$C$4:$C" & lastrow
ActiveChart.SeriesCollection(3).Values = "=GraphData!$I$4:$i" & lastrow
lastrow is determined by using another and in this particular case is 34.
the actual chart series reads
=GraphData!$B$4:$B$32 and its that last number I want to dynamically change
depending on the number of rows in the data
Any suggestions