Inicializar botones de opción desactivados

23/05/2005 - 16:48 por luka79 | Informe spam
Tengo varios cuadros de grupo en una hoja y me interesa que aparezcan todas
las opciones como desactivadas
¿se puede hacer?
Gracias anticipadas a todos
Javier.B.A

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
23/05/2005 - 17:10 | Informe spam
"luka79" escribió en el mensaje news:
Tengo varios cuadros de grupo en una hoja y me interesa que aparezcan todas
las opciones como desactivadas
¿se puede hacer?
Gracias anticipadas a todos
Javier.B.A




Prueba con alguno de estos dos Subs o con ambos, dependiendo de cómo hayas creado los controles: con la barra de herramientas "Formulario", con la barra de herramientas "Cuadro de controles" o mezclados.

Sub DesactivarControles1()
'Si están creados mediante la barra de herramientas "Formulario"
Dim cb As CheckBox
Dim ob As OptionButton

For Each cb In Worksheets("Hoja1").CheckBoxes
cb.Value = False
Next cb

For Each ob In Worksheets("Hoja1").OptionButtons
ob.Value = False
Next ob

Set ob = Nothing
Set cb = Nothing
End Sub


Sub DesactivarControles2()
'Si están creados mediante la barra de herramientas "Cuadro de controles"
Dim n As Integer

With Worksheets("Hoja1")
For n = 1 To .OLEObjects.Count
If TypeName(.OLEObjects(n).Object) = "CheckBox" Then
.OLEObjects(n).Object.Value = False
End If
Next n

For n = 1 To .OLEObjects.Count
If TypeName(.OLEObjects(n).Object) = "OptionButton" Then
.OLEObjects(n).Object.Value = False
End If
Next n
End With
End Sub


Tendrás que cambiar Hoja1 por el nombre real de la hoja.
Un saludo.


Fernando Arroyo
MS MVP - Excel
www.excelesp.com
Respuesta Responder a este mensaje
#2 luka79
24/05/2005 - 16:26 | Informe spam
Muchas gracias pero dada mi ignorancia no se como poner lo que me has mandado
en un boton para que el usuario pueda al apretarlo, inicializar las opciones
como desactivadas.
He creado los controles y el botón con la barra de herramientas Formularios

Gracias nuevamente

"Fernando Arroyo" escribió:

"luka79" escribió en el mensaje news:
> Tengo varios cuadros de grupo en una hoja y me interesa que aparezcan todas
> las opciones como desactivadas
> ¿se puede hacer?
> Gracias anticipadas a todos
> Javier.B.A


Prueba con alguno de estos dos Subs o con ambos, dependiendo de cómo hayas creado los controles: con la barra de herramientas "Formulario", con la barra de herramientas "Cuadro de controles" o mezclados.

Sub DesactivarControles1()
'Si están creados mediante la barra de herramientas "Formulario"
Dim cb As CheckBox
Dim ob As OptionButton

For Each cb In Worksheets("Hoja1").CheckBoxes
cb.Value = False
Next cb

For Each ob In Worksheets("Hoja1").OptionButtons
ob.Value = False
Next ob

Set ob = Nothing
Set cb = Nothing
End Sub


Sub DesactivarControles2()
'Si están creados mediante la barra de herramientas "Cuadro de controles"
Dim n As Integer

With Worksheets("Hoja1")
For n = 1 To .OLEObjects.Count
If TypeName(.OLEObjects(n).Object) = "CheckBox" Then
.OLEObjects(n).Object.Value = False
End If
Next n

For n = 1 To .OLEObjects.Count
If TypeName(.OLEObjects(n).Object) = "OptionButton" Then
.OLEObjects(n).Object.Value = False
End If
Next n
End With
End Sub


Tendrás que cambiar Hoja1 por el nombre real de la hoja.
Un saludo.


Fernando Arroyo
MS MVP - Excel
www.excelesp.com


Respuesta Responder a este mensaje
#3 Fernando Arroyo
25/05/2005 - 09:06 | Informe spam
- pulsa Alt F11 para entrar en el editor de VBA
- haz Insertar > Módulo
- pega el siguiente código en la ventana de código (la más grande):

Sub DesactivarControles1()
Dim cb As CheckBox
Dim ob As OptionButton

For Each cb In Worksheets("Hoja1").CheckBoxes
cb.Value = False
Next cb

For Each ob In Worksheets("Hoja1").OptionButtons
ob.Value = False
Next ob

Set ob = Nothing
Set cb = Nothing
End Sub

- crea el botón desde la barra de herramientas 'Formulario' y asígnale la macro.

Un saludo.


Fernando Arroyo
MS MVP - Excel
www.excelesp.com



"luka79" escribió en el mensaje news:
Muchas gracias pero dada mi ignorancia no se como poner lo que me has mandado
en un boton para que el usuario pueda al apretarlo, inicializar las opciones
como desactivadas.
He creado los controles y el botón con la barra de herramientas Formularios

Gracias nuevamente

Respuesta Responder a este mensaje
#4 luka79
25/05/2005 - 16:51 | Informe spam
He hecho lo que me has dicho y me da un error al pulsar el boton
Sale un aviso de Windows con el texto
"Se ha producido el error '1004' en tiempo de ejecución:
Imposible asignar la propiedad Value de la clase OptionButton"
Al darle a la opción Depurar se ilumina en amarillo la línea
ob.Value = False.

Siento ser tan pesado

"Fernando Arroyo" escribió:

- pulsa Alt F11 para entrar en el editor de VBA
- haz Insertar > Módulo
- pega el siguiente código en la ventana de código (la más grande):

Sub DesactivarControles1()
Dim cb As CheckBox
Dim ob As OptionButton

For Each cb In Worksheets("Hoja1").CheckBoxes
cb.Value = False
Next cb

For Each ob In Worksheets("Hoja1").OptionButtons
ob.Value = False
Next ob

Set ob = Nothing
Set cb = Nothing
End Sub

- crea el botón desde la barra de herramientas 'Formulario' y asígnale la macro.

Un saludo.


Fernando Arroyo
MS MVP - Excel
www.excelesp.com



"luka79" escribió en el mensaje news:
> Muchas gracias pero dada mi ignorancia no se como poner lo que me has mandado
> en un boton para que el usuario pueda al apretarlo, inicializar las opciones
> como desactivadas.
> He creado los controles y el botón con la barra de herramientas Formularios
>
> Gracias nuevamente
>


Respuesta Responder a este mensaje
#5 Fernando Arroyo
26/05/2005 - 09:15 | Informe spam
A mí el código me funciona bien. Por probar, mira si te funciona el siguiente ejemplo:

http://www.excelesp.com/ejemplos/Ej...50526a.xls

Un saludo.


Fernando Arroyo
MS MVP - Excel

"luka79" escribió en el mensaje news:
He hecho lo que me has dicho y me da un error al pulsar el boton
Sale un aviso de Windows con el texto
"Se ha producido el error '1004' en tiempo de ejecución:
Imposible asignar la propiedad Value de la clase OptionButton"
Al darle a la opción Depurar se ilumina en amarillo la línea
ob.Value = False.

Siento ser tan pesado
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida