Desmarcar option button

¿Cómo se podría desmarcar un option button de un formulario al volver a hacer click sobre él?

1 respuesta

Respuesta
1
Prueba con este código.
Option Explicit
Dim valorOpcionButton1 As Boolean
Private Sub OptionButton1_Change()
    ' Aquí que no me pregunte nadie porqué hay que volver a actualizar el valor, pero si
' no lo refrescamos se queda siempre marcado.
    ' La única explicación es que este evento se ejecute siempre después de marcarse el
' objeto por el evento del ratón
    Me.OptionButton1.Value = valorOpcionButton1
End Sub
Private Sub OptionButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    valorOpcionButton1 = Not valorOpcionButton1 ' Cambiamos al valor contrario
    Me.OptionButton1.Value = valorOpcionButton1 ' Actualizamos el valor del botón
End Sub
Private Sub UserForm_Activate()
    valorOpcionButton1 = False                  ' Estado inicial del botón
    Me.OptionButton1.Value = valorOpcionButton1 ' Actualizamos el estado inicial
End Sub
Hola Santiago, gracias por contestar.
He pegado el código en el formulario, y ahora al seleccionar el option button se queda en gris, y no cambia el valor.
¿Alguna idea de a qué pueda deberse? (Aparte de que yo no tenga ni idea de este marrón en el que me ha tocado meterme :D)
Te he mandado una posible respuesta pero me ha dado un error. Lo mismo contesto 2 veces.
Te comentaba que quizá se esté metiendo en un bucle porque el 'sub OptionButton1_Change()' no me acaba de parecer necesario (pero en las pruebas no funcionaba sin ese procedimiento).
También te preguntaba si estaba dentro de un 'userForm' o si es un botón directamente sobre una página, pero por lo que he visto en mi ordenador funciona exactamente igual.
Sólo se me ocurre plantearte que me mandes la hoja de cálculo para que vea lo que está pasando. Puedes mandármela a [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas