Recorrer Grupo de opciones

06/06/2007 - 13:39 por marjan | Informe spam
Hola de nuevo,

Estoy intentando recorrer una serie de Grupos con Botones de opción para
asignar automáticamente la celda donde guardar el valor, Tengo 2 grupos con
tres botones cada uno, hago

Dim k As Long
Dim conta As Long
Dim conta2 As Long
conta = 1
conta2 = 4

For k = 1 To ActiveSheet.OptionButtons.Count
ActiveSheet.OptionButtons(conta).LinkedCell = "$A$" & conta2
conta = conta + 1
conta2 = conta2 + 1
Next k

Esto recorre los botones de opción (6) y asigna la celda enlazada (a 6
celdas), pero a mi me interesa que lo haga por cada grupo de opciones (solo
serían 2 celdas)
¿Cómo "detecto" a que Grupo pertenece cada opción para que cuando cambie
ponga un valor de celda nuevo?

Y otra:

El valor en el bucle ["$A$" & conta2] me asigna los valores verticalmente...
¿cómo podría hacerlo en una sola fila (horizontalmente)


Gracias por vuesta ayuda,

Martí
 

Leer las respuestas

#1 Vinchenzo vinç
06/06/2007 - 20:27 | Informe spam
"marjan" <de hotmail : centralbib> escribió en el mensaje news:
Hola de nuevo,

Estoy intentando recorrer una serie de Grupos con Botones de opción para
asignar automáticamente la celda donde guardar el valor, Tengo 2 grupos con
tres botones cada uno, hago

[···]

Esto recorre los botones de opción (6) y asigna la celda enlazada (a 6
celdas), pero a mi me interesa que lo haga por cada grupo de opciones (solo
serían 2 celdas)
¿Cómo "detecto" a que Grupo pertenece cada opción para que cuando cambie
ponga un valor de celda nuevo?

Y otra:

El valor en el bucle ["$A$" & conta2] me asigna los valores verticalmente...
¿cómo podría hacerlo en una sola fila (horizontalmente)



Hola,
en principio, yo no conozco una forma de acceso directo a los controles que pertenezcan a un determinado cuadro de grupo, pero sí al grupo al que pertenece un determinado botón de opción.

Prueba la siguiente macro. Cabe decir que tendrás que procurarle un control de errores por si pudiera darse el caso en el que algún botón de opción no esté agrupado por un cuadro de grupo, sino por la hoja, en cuyo caso obtendrías un error al consultar la propiedad '.GroupBox' del botón de opción:

'**************
Dim x As Long, i As Long

With Sheets("NombreHoja")
For i = 1 To .GroupBoxes.Count
For x = 1 To .OptionButtons.Count
If .OptionButtons(x).GroupBox.Name = .GroupBoxes(i).Name Then
.OptionButtons(x).LinkedCell = Cells(1, i).Address
Exit For
End If
Next
Next
End With
'**************

Creo que se ve claro lo que hace la macro, sino ya comentarás...


Saludos
( ! ) Respuestas precedentes en Google:
http://groups.google.com/group/micr...c.es.excel
( i ) Temperancia en el foro:
http://support.microsoft.com/defaul...newsreglas

Preguntas similares