On Feb 27, 7:36 am, "Ray" <rschin...@gmail.com> wrote:
> On Feb 27, 7:28 am, "Peter T" <peter_t@discussions> wrote:
>
>
>
> > Hi Ray,
>
> > Looks like you have ActiveX optionbuttons.
> > In the worksheet module -
>
> > Private Sub OptionButton1_Click()
> > ChartVis "wkly_visitors"
> > End Sub
>
> > Private Sub OptionButton2_Click()
> > ChartVis "wkly_sales"
> > End Sub
>
> > Private Sub OptionButton3_Click()
> > ChartVis "wkly_customer"
> > End Sub
>
> > Private Sub OptionButton4_Click()
> > ChartVis "wkly_convrate"
> > End Sub
>
> > Sub ChartVis(sName As String)
> > Dim i As Long
> > Dim vArr
> > vArr = Array("wkly_visitors", "wkly_sales", "wkly_customer",
> > "wkly_convrate")
> > For i = LBound(vArr) To UBound(vArr)
> > With ActiveSheet.ChartObjects(vArr(i))
> > .Visible = .Name = sName
> > End With
> > Next
>
> > End Sub
>
> > Sub ChartVis() could go in a normal module if you want to call it from other
> > routines. Would probably want to include some error handling in case of non
> > existent chart name(s).
>
> > Regards,
> > Peter T
>
> > "Ray" <rschin...@gmail.com> wrote in message
>
> >news:(E-Mail Removed)...
>
> > > Hello -
>
> > > I thought I found an answer for this problem, but can't quite make it
> > > work ....
>
> > > As part of a large package of information, I have a ;dynamic' chart
> > > sheet where users can change one (or more) criteria to see the level
> > > of detail they want. Four graphs are created from this input. This
> > > part of my code works fine and is not included in my sample code
> > > below...
>
> > > Here's the problem -- I only want ONE of the four graphs to be visible
> > > at a time. Currently, I'm using 4 option_buttons to allow the user to
> > > select the graph they'd like to see. The graph called by option1
> > > should be the 'default' (ie visible on sheet_activate). Here's the
> > > code so far ...
>
> > > Private Sub Worksheet_SelectionChange(ByVal Target As Range)
>
> > > If OptionButton1.Value = True Then
> > > ActiveSheet.ChartObjects("wkly_visitors").Visible = True
>
> > > ElseIf OptionButton2.Value = True Then
> > > ActiveSheet.ChartObjects("wkly_sales").Visible = True
>
> > > ElseIf OptionButton2.Value = True Then
> > > ActiveSheet.ChartObjects("wkly_customer").Visible = True
>
> > > ElseIf OptionButton2.Value = True Then
> > > ActiveSheet.ChartObjects("wkly_convrate").Visible = True
>
> > > End If
> > > End Sub
>
> > > The code to update the graph has it's own macro and is called by a
> > > click_event.
>
> > > What am I doing wrong with the code above?
>
> > > TIA, Ray
>
> Thanks for the input Peter ... it works now ... kinda....
>
> So, now the graphs appear one at a time, but they don't update at the
> right 'time'. I mean, if option1 is selected (and graph1 is visible),
> and then option2 is selected, the graphs don't update UNTIL another
> cell is selected. It seems that the macro doesn't see the
> option_button changes as a worksheet_change event.
>
> Any ideas how to fix this....?
Looks like there was some timing issues to a couple of posts -- sorry
to get your responses switched up! Thanks to both John & Peter for
your time and input...
Peter, your solution works perfectly, thanks very much! Could you
explain what this line means (from Sub ChartVis)
..Visible = .Name = sName
br//ray
|