OptionButton. Reset to 0

E

Eef Houniet

Readers,

Can OptionButtons be set to 0, using something like For each - Next ??

Up till now I know no better way then

Me.OptionButton1 = 0
Me.OptionButton2 = 0
Me.OptionButton3 = 0
Me.OptionButton4 = 0

Thanks,
Eef
 
B

Bob Phillips

me.oleobjects("OptionButton1").object.value=0

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
B

Benabd

Hello,

If your OptionButton is in a UserForm, you can reset the OptionButton
to 0 using the following:

For Each Control In UserForm.Controls
If Left(Control.Name, 12) = "OptionButton" Then
Control.Value = False
End If
Next Control

For me, I use a prefix for all control to help me do such loops.
Example for OptionButtons, I'd use "ob"
obFirstChoice,
obSecondChoice,
etc.

I hope this helps.
Karim
 
E

Eef Houniet

Karim,

The OptionButtons are not on a UserForm, but on a Sheet
I tried te following procedure:

Private Sub ButtonsEmpty()

Dim Sh As Worksheet
Set Sh = Sheets(1)
Dim Ct As Control

For Each Ct In Sh
Control.Value = 0
Next Control

End Sub


Does not work. ErrorMessage complains that no variable has been defined for
Value.
Where do I go wrong?

Thanking you in advance
Eef
 
E

Eef Houniet

Muhammed,

Thank you for answering my question.
Your suggestion works for one OptionButton.

I worked this out as follows (I that there are 66 buttons):

Dim tel As Integer
Let tel = 1
Sheets("vragen").Activate
With ActiveSheet
Do While tel < 66
Me.OLEObjects("OptionButton" & tel).Object.value = 0
tel = tel + 1
Loop
End With

However, I think a construction using For Each - Next is better.
Any suggestions?
Thanking you in advance

Eef
 
E

Eef Houniet

Bob,

Thank you for answering my question.
Your suggestion works for one OptionButton.

I worked this out as follows (I that there are 66 buttons):

Dim tel As Integer
Let tel = 1
Sheets("vragen").Activate
With ActiveSheet
Do While tel < 66
Me.OLEObjects("OptionButton" & tel).Object.value = 0
tel = tel + 1
Loop
End With

However, I think a construction using For Each - Next is better.
Any suggestions?
Thanking you in advance
 
B

Bob Phillips

Dim oOLE As OLEObject

With Worksheets("vragen")
For Each oOLE In .OLEObjects
If TypeName(oOLE.Object) = "OptionButton" Then
oOLE.Object.Value = 0
End If
Next oOLE
End With


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 

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