Cambiar a valor false los botones de opcion

Saludos, de antemano gracias por la ayuda, desarrolle una pequeña encuesta en excel con visual basic, para pasarla en una intranet, la encuesta tien 66 preguntas y cada una tiene 6 posibles respuestas, lo que deseo es saber que código puedo utilizar para evitar tener que escribir la acción de desacticvar el botón de opción por cada uno es decir al terminar una persona la encuesta los botnes de opciondeben limpiarse todos para que el siguiente que entre los enceuntre en blanco, de momento he hecho algo así:
Sheets("encuesta").o012.Value = False
Sheets("encuesta").o013.Value = False
Sheets("encuesta").o014.Value = False
Sheets("encuesta").o015.Value = False
Sheets("encuesta").o016.Value = False
donde los oxxx son los diferentes botones de opcion atodas as respuestas pero esto es demaciado con 66 preguntas y 6 respuestas por cada una es un codigo muy largo, queria saber, hay foram de simplicar esto?, un bucke o algo q me premita seleccionar todos los botones de opcion  de una hoja (donde esta la encuesta)y ponerlos en value=false de una vez, denuevo gracias

1 Respuesta

Respuesta
1
Adapta este código:
Dim i As Integer
With Sheets("TuHoja")
For i = 1 To .OptionButton.Count
.OptionButton(i).Value = False
Next i
Gracias por responder amigo, pero el problema es que el código que me describes em da error
Dim i As Integer
With Sheets("hoja1")
For i = 1 To .OptionButton.Count
.OptionButton(i).Value = False
Next i
End With
"error 438, el objeto no admite esta propiedad", y me señala la linea donde esta el . optionbutton(i).value=false, podrías si no es mmolestia sugerirme otra solución el caso es que para probar este código lo hice en un libro nuevo, solo con tres botnones pero no em funciona, si puedes probar una solución, rápida deseta manera yo la adapto luego, pero te agradecería mucho probaras la solución por pequeña que resulte en escala Gracias
Prueba con esto:
Dim Option As OLEObject
For Each Option In Sheets("TuHoja").OLEObjects
If Option.Object.Value = False Then
Option.Object.Value = True
End If
Next
Al final me resulto de la siguiente manera
For Each OptionButton In Sheets("Hoja1").OLEObjects
If OptionButton.Object.Value = True Then
OptionButton.Object.Value = False
End If
Next
Por supuesto nunca lo hubiera logrado sin tu ayuda eres super, gracias por todo. En serio garcías

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas