Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default Optionbutton help

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


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,298
Default Optionbutton help

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


"Craig" wrote:

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



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Optionbutton help


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

--
david
-----------------------------------------------------------------------
davidm's Profile: http://www.excelforum.com/member.php...fo&userid=2064
View this thread: http://www.excelforum.com/showthread.php?threadid=48807

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Optionbutton help

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.



Craig wrote:

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


--

Dave Peterson
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default Optionbutton help

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

"Dave Peterson" wrote in message
...
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.



Craig wrote:

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


--

Dave Peterson





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Optionbutton help

That seems like a reasonable approach (especially the avoiding portion!).

Craig wrote:

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

"Dave Peterson" wrote in message
...
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.



Craig wrote:

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


--

Dave Peterson


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
OptionButton value Patrick Simonds Excel Programming 2 January 17th 05 10:50 AM
OptionButton nrage21[_69_] Excel Programming 1 September 29th 04 02:14 AM
OptionButton nrage21[_70_] Excel Programming 0 September 29th 04 12:23 AM
Better Way to Use OptionButton [email protected] Excel Programming 0 September 1st 04 07:18 PM
Better Way to Use OptionButton [email protected] Excel Programming 4 September 1st 04 07:04 PM


All times are GMT +1. The time now is 04:05 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"