View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jim Cone Jim Cone is offline
external usenet poster
 
Posts: 3,290
Default Setting Range in Graph

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