seleccionar nombre de cuadro combinado en BVA

23/06/2006 - 15:45 por isaac | Informe spam
Estimados Amigos tengo tres cuadros combinados en Hoja1!
en una macro que grabe y no funciona, quedo como sigue:

ActiveSheet.Shapes("Drop Down 1").Select
With Selection
.ListFillRange = "Hoja2!$A$2:$A$5"
.LinkedCell = "$G$7"
.DropDownLines = 8
.Display3DShading = False
End With
ActiveSheet.Shapes("Drop Down 2").Select
With Selection
.ListFillRange = "Hoja2!$f$2:$f$6"
.LinkedCell = "$f$19"
.DropDownLines = 8
.Display3DShading = False
End With
ActiveSheet.Shapes("Drop Down 3").Select
With Selection
.ListFillRange = "Hoja2!$g$2:$g$6"
.LinkedCell = "$f$21"
.DropDownLines = 8
.Display3DShading = False
End With
End Sub

lo que quiero es que la setencia seleccione el nombre de los cuadros
combinados para que se les asigne nuevos valores de .LisFillRange y tambien
de .LinkedCell es decir dependiendo del valor de .LinkedCell del cuadro
combinado uno (es uno por que fue el primero que cree) ya sea 1 2 3 me
ejecute una macro (arriba) que me ajuste los cuadros combinados c2 y 3 con
nuevos valores, pero parece ser que no me funciona. Saludos Isaac
 

Leer las respuestas

#1 Héctor Miguel
23/06/2006 - 22:52 | Informe spam
hola, isaac !

... tengo tres cuadros combinados en Hoja1! en una macro que grabe y no funciona, quedo como sigue:
... quiero... que se les asigne nuevos valores de .LisFillRange y tambien de .LinkedCell
... es decir dependiendo del valor de .LinkedCell del cuadro combinado uno (es uno por que fue el primero que cree) ya sea 1 2 3 ..
... ejecute una macro... que me ajuste los cuadros combinados c2 y 3 con nuevos valores, pero parece ser que no me funciona...



1) haria falta que comentes [+/- exactamente] cuales serian los 'nuevos' valores de los c2 y 3... 'en funcion' de tu comentario de...
-> '... dependiendo del valor de .LinkedCell del cuadro combinado uno... ajuste los cuadros combinados c2 y 3 ...' ????

2) [en via de mientras]... puedes 'aligerar' el codigo que estas usando con algo +/- como lo siguiente...
en un modulo de codigo 'normal' ==Sub Asignar_valores_a_combos()
Dim Sig As Byte, Rangos, Celdas
Rangos = Array("a2:a5", "f2:f6", "g2:g6")
Celdas = Array("g7", "f19", "f21")
With Worksheets("hoja1")
For Sig = 1 To 3
With .Shapes("drop down " & Sig).ControlFormat
.ListFillRange = "=hoja2!" & Rangos(Sig - 1)
.LinkedCell = Celdas(Sig - 1)
End With
Next
End With
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
ActiveSheet.Shapes("Drop Down 1").Select
With Selection
.ListFillRange = "Hoja2!$A$2:$A$5"
.LinkedCell = "$G$7"
.DropDownLines = 8
.Display3DShading = False
End With
ActiveSheet.Shapes("Drop Down 2").Select
With Selection
.ListFillRange = "Hoja2!$f$2:$f$6"
.LinkedCell = "$f$19"
.DropDownLines = 8
.Display3DShading = False
End With
ActiveSheet.Shapes("Drop Down 3").Select
With Selection
.ListFillRange = "Hoja2!$g$2:$g$6"
.LinkedCell = "$f$21"
.DropDownLines = 8
.Display3DShading = False
End With
End Sub

Preguntas similares