Ventana emergente

14/01/2005 - 06:16 por Fabian | Informe spam
Hola a todos, estoy buscando un codigo o una funcion, que en el momento de
cargar un nombre en una lista abra una ventana emergente con los nombres de
la lista donde se está haciendo la carga, algo parecido a autocompletar,
pero que despliegue todas las posibilidades y las vaya eliminando a medida
que se van agregando letras del nombre, que se está escribiendo y tenga la
posibilidad de cargar el nombre deseado, (si se encuentra) con un clic, esto
es tal cual lo hace el editor del VBA.
Gracias.
 

Leer las respuestas

#1 Héctor Miguel
14/01/2005 - 06:34 | Informe spam
hola, Fabian !

1° [creo que] necesitas [un poco de] mas 'paciencia' ;)
[para dar tiempo -en caso necesario- de 'desarrollar/probar/...' lo que se ha de 'proponer'] ;)

... que en el momento de cargar un nombre en una lista abra una ventana emergente
con los nombres de la lista donde se esta haciendo la carga ... parecido a autocompletar,
... que despliegue todas las posibilidades y las vaya eliminando a medida que se van agregando letras [...]



en septiembre de 2003 hubo una consulta 'similar' [que pudiera aplicarse al caso que panteas]
ve si puedes 'adaptarla' a tus necesidades ;)

si cualquier duda... ¿comentas datos adicionales?
saludos,
hector.

__ consulta __
... una hoja ... columna (A) ... tengo que introducir nombres y apellidos
... para agilizar ... en otra hoja ... los posibles nombres ... y ... una validacion ... de permitir - lista [...]
... hacer que cuando empieze a escribir ... vayan apareciendo los ... que cumplan lo que hasta el momento haya escrito [...]



__ respuesta __
[hasta donde yo se] el objeto que 'cumple' con esa caracteristica es un combobox de =>cuadro de controles<considerando que [de todas maneras] no te 'escaparias' de usar codigo, podrias hacer que [p.e.] ...
-o- lo que 'se escriba en' [o seleccione d]el combo, se 'baje' a la celda activa [siempre que sea de la columna 1 ('a')]
-o- si la celda activa NO 'es' de la columna 'a', el combo NO 'tenga' nada 'que seleccionar' ;)
-o- el rango [en la 'otra' hoja] sea un nombre con referencia a un rango 'dinamico' por si lo vas a seguir [de-]creciendo
p.e. en la 'otra' hoja [Hoja2???]
1) Insertar -> Nombres -> Definir
2) Nombre = "ListadoDeNombres"
3) Se refiere a: => =DesRef(Hoja2!a1,,,ContarA(Hoja2!a:a))
=>si la primer celda del listado es 'titulo'... =DesRef(Hoja2!a1,1,,ContarA(Hoja2!a:a))
[solo toma nota que miseparador de argumentos es la coma ',' NO punto y coma ';']
[inclusive] podrias escribir [en el combo] nombres que NO 'existan' en el listado [de 'la otra' hoja] ;)
=> aun cuando los escribas [en el combo] y los 'plantes' [en la celda activa] SEGUIRAN 'ausentes' en el listado <
en el modulo de codigo de 'la hoja' a la que pertenece el combo ==' el combo se llena SOLO cuando la celda activa es de la columna 1 ['a'] '
Private Sub ComboBox1_GotFocus()
If ActiveCell.Column = 1 Then
ComboBox1.ListFillRange = "ListadoDeNombres"
ComboBox1.LinkedCell = ActiveCell.Address
Else: ComboBox1.LinkedCell = ""
End If
End Sub
' el combo se vacia [invariablemente] al terminar la operacion '
Private Sub ComboBox1_LostFocus()
ComboBox1.ListFillRange = ""
ComboBox1.LinkedCell = ""
ComboBox1 = ""
End Sub
' para agilizar la entrada de datos con la tecla {Enter} [cuando 'en' el combo] '
Private Sub ComboBox1_KeyDown( _
ByVal KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then SendKeys "{Esc}"
End Sub

Preguntas similares