a vueltas con rangos dinamicos

08/08/2003 - 21:16 por César | Informe spam
Hola grupo
el otro día cerré en falso mi problema con los rangos dinámicos:

necesito rellenar un combobox, de dos columnas, con los datos de un rango
dinámico. Según he descubierto, hay dos maneras basicamente de crear un
rango dinámico, una la que yo mismo propuse y la otra es mediante la
definición de un nombre de rango, usando DESREF Y CONTAR (gracias, Adolfo
Fernández).

El problema es que me gustaría poder utilizar 'autofiltro' con la tabla
donde tengo los datos, pero compruebo que aunque no se muestren ciertas
filas, no por ello dejan de existir. Con la solución que me propuso
Adolfo, es como no usar el filtro. Con la rutina que escribí, me pasan
cosas extrañas, sobre todo si filtro más de una columna, pero casi nunca
coincide lo que aparece en el combo con lo que aparece en la hoja donde
tengo los datos.

Además, la solución de DESREF ... no he conseguido que me llene un combo
de dos o más columnas, sólo con una me funciona.

¿alguna idea?

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
09/08/2003 - 10:55 | Informe spam
Hola, César !

... se me pasó comentar que ... utilizo el evento Activate de la hoja donde tengo el combo.
... sin necesidad de recurrir a artificios como el de la fórmula ... más elegante [...]
Para hacerlo 'a mi manera' creo que si necesito modificar esa línea ¿no?



==> Tienes razon, la variedad es parte del atractivo (me habia "obsesionado" con una sola hoja) :((
Como habria que "escribir" varias veces la referencia a la hoja con los datos...
la "cambie" al bloque With...End With :)) => "nota" los puntos <== en el modulo de codigo de la hoja con el Combo =Private Sub Worksheet_Activate()
Dim Celda As Range, Sig As Long
Me.ComboBox1.Clear
With Worksheets("Hoja1")
For Each Celda In .Range(.Range("a2"), .Range("a65536").End(xlUp))
If Not Celda.EntireRow.Hidden Then
Me.ComboBox1.AddItem
Me.ComboBox1.List(Sig, 0) = Celda
Me.ComboBox1.List(Sig, 1) = Celda.Offset(, 1)
Sig = Sig + 1
End If
Next
End With
Me.ComboBox1.ListIndex = -1
End Sub
_______
Saludos,
Héctor.
MS-MVP
Respuesta Responder a este mensaje
#7 César
09/08/2003 - 11:00 | Informe spam
¡Eres un hacha! gracias por toda la ayuda.
Respuesta Responder a este mensaje
#8 Héctor Miguel
09/08/2003 - 11:08 | Informe spam
==> "Mejor dicho", ¡ Soy... terco... picado... (y anexas) !!! ;)
_______
Saludos,
Héctor.
MS-MVP
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida