Thread: Chart Code
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
[email protected] bdarbonneau@gmail.com is offline
external usenet poster
 
Posts: 1
Default Chart Code

Rather than using code, you could use a dynamic range.

Create a named range with a formula that returns the range depending on
the check box value:
=INDIRECT(IF(checkbox,"rng_a","rng_b"))

where
- "checkbox" is the cell that contains either TRUE or FALSE depending
on the
- rng_a is the range name for range R28C4:R34C4
- rng_b is the range name for range R2C2:R20C2

then use this range name in the definition of the data for your chart.

For a good introduction to using dynamic named ranges:
http://www.ozgrid.com/Excel/DynamicRanges.htm
http://www.glencoe.com/ps/computered...?articleId=376

keri a écrit :

Hi I am getting frustrated with the code for the chart as below.
I want the chart series data source to change depending on a checkbox
linked to a cell. However I seem to have a problem with the line that
changes the values. (I recorded the original code from a macro). I have
tried naming the series collection by number but this doesn't work
either. When I step through the code and get to either of the lines
that say " ......values = "=R" then I get a run time error 1004
application or user defined error or a run time error 438 object does
not support this property or method.


Sheets("chart").Select
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select

If ActiveSheet.Range("a3") = True Then
ActiveChart.seriescollection("HAMILTON").Select
ActiveChart.seriescollection("HAMILTON").values = "=R28C4:R34C4"
Else: ActiveChart.seriescollection("HAMILTON").values =
"=R2C2:R20C2"

I'd appreciate any advice anyone can give me as to where I am going
wrong. Thanks.