ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   enable option buttons (https://www.excelbanter.com/excel-programming/353446-enable-option-buttons.html)

natanz[_2_]

enable option buttons
 
i have a userform with two listboxes, and six optionbuttions. the
options buttons are split into 3 pairs of two. at the outset only the
first pair of option buttons is enabled. the following code tests to
see if more than one selection is made in a listbox, and if it is, then
enables a relevant pair of option buttons.

Private Sub Listbox1_change()
'check to see if there is a multiple selection
Dim i As Integer
Dim Acount As Integer
Acount = 0

With Userform1.Listbox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
Acount = Acount + 1
End If
Next i
End With
If Acount 1 Then
Userform1.OptionButton5.Enabled = True
Userform1.OptionButton6.Enabled = True
End If
Userform1.Repaint
End Sub

this code works fine, when i run the code, by stepping through it. In
fact i don't need the Userform1.Repaint line, when i run it this way.
But the appearance of the userform doesn't change when i run the code
normally. Is there some other trick to getting this change to happen?

thanks for your help.


Dave Peterson

enable option buttons
 
Just a guess...

DoEvents
Userform1.Repaint
'and maybe
DoEvents

natanz wrote:

i have a userform with two listboxes, and six optionbuttions. the
options buttons are split into 3 pairs of two. at the outset only the
first pair of option buttons is enabled. the following code tests to
see if more than one selection is made in a listbox, and if it is, then
enables a relevant pair of option buttons.

Private Sub Listbox1_change()
'check to see if there is a multiple selection
Dim i As Integer
Dim Acount As Integer
Acount = 0

With Userform1.Listbox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
Acount = Acount + 1
End If
Next i
End With
If Acount 1 Then
Userform1.OptionButton5.Enabled = True
Userform1.OptionButton6.Enabled = True
End If
Userform1.Repaint
End Sub

this code works fine, when i run the code, by stepping through it. In
fact i don't need the Userform1.Repaint line, when i run it this way.
But the appearance of the userform doesn't change when i run the code
normally. Is there some other trick to getting this change to happen?

thanks for your help.


--

Dave Peterson

natanz[_2_]

enable option buttons
 
frustrating. that doesn't work either. I tried all sorts of different
versions. changing from enabled=false to enabled=true, or
visible=false to visible=true, but none of that worked.

the annoying thing is it all works when i try it by stepping through.
In fact, i have even added a line:

msgbox userform1.optionbutton6.enabled

when i step through, it reports the number that i would expect, but
when i run it in real time it always reports false.

I am stuck.


Dave Peterson

enable option buttons
 
Sorry it didn't help.

natanz wrote:

frustrating. that doesn't work either. I tried all sorts of different
versions. changing from enabled=false to enabled=true, or
visible=false to visible=true, but none of that worked.

the annoying thing is it all works when i try it by stepping through.
In fact, i have even added a line:

msgbox userform1.optionbutton6.enabled

when i step through, it reports the number that i would expect, but
when i run it in real time it always reports false.

I am stuck.


--

Dave Peterson


All times are GMT +1. The time now is 12:01 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com