Optionbutton help

C

Craig

HI there,

I have a Userform with some optionbuttons on it. Named optionbutton1 thru 4.
Each button is linked to a worksheet cell. I want, that when I click an
optionbutton it becomes TRUE and the other
optionbuttons become FALSE.
I have these buttons grouped.
What happens is that if optionbutton4 is TRUE and I click optionbutton1...
optionbutton4 becomes FALSE but optionbutton1 doesn't become TRUE unless I
click it again.

How do I make this happen with one click??

Thanks in Advance...Again!
Craig
 
G

Guest

Make sure that the group is set correctly. What you're asking for is just
standard behaviour. Whatevert option is clicked gets set to TRUE and the rest
get set to false. Also make sure that the option buttons are set to the
correct cells ... they can be pointing at the same cell ... there's no
warnings ... which might give interesting results
 
D

davidm

Craig,

Sometimes we overplay our hands in programming. Do you really nee
"grouping", particularly for a scant number as 4 optionbuttons? If you
buttons are left ungrouped, you will achieve (by default) what you want
Namely, by clicking any one button, the others would be automaticall
set to FASLE.

Regards
David
 
D

Dave Peterson

I think I'd drop the linked cell (ControlSource) and just assign the values with
code:

Option Explicit
Private Sub OptionButton1_Click()
Call doOpt(1)
End Sub
Private Sub OptionButton2_Click()
Call doOpt(2)
End Sub
Private Sub OptionButton3_Click()
Call doOpt(3)
End Sub
Private Sub OptionButton4_Click()
Call doOpt(4)
End Sub
Sub doOpt(which As Long)
Dim iCtr As Long
With Worksheets("sheet1")
For iCtr = 1 To 4
.Cells(iCtr, "A").Value = CBool(iCtr = which)
Next iCtr
End With
End Sub

I used Sheet1, A1:A4 (to make my life easier), but you could modify it pretty
easily.
 
C

Craig

Thanks Dave... worked great, my userform has 8 sets of 4 optionbuttons on
it... so I passed a second value to the doOpt procedure and grouped each set
of 4.
I'm really finding that the ControlSource is not very useful... or at least
has cause me a lot of grief lately! It seems to be the root of my problem
everytime... I think I'll avoid it in the future.

Thank for your help again
Crai
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top