Excel me ofrece texto (autocompletar?)

15/12/2007 - 19:19 por Ignacio Perez | Informe spam
Hola a todos:
Bueno como sabeis si escribes al final de una lista segun vas escribiendo
Excel te ofrece las posibilidades que ya estan incluidas en esa lista.
yo tengo una lista donde las celdas tienen una validacion de datos y una
lista desplegable y de este modo Excel no me ofrece los valores que componen
la validacion de datos.
¿existe la posibilidad de que esto sea así?
Un saludo
 

Leer las respuestas

#1 Héctor Miguel
15/12/2007 - 22:11 | Informe spam
hola, Ignacio !

... si escribes al final de una lista segun vas escribiendo Excel te ofrece las posibilidades que ya estan incluidas en esa lista.
... tengo una lista donde las celdas tienen una validacion de datos y una lista desplegable
... de este modo Excel no me ofrece los valores que componen la validacion de datos.
existe la posibilidad de que esto sea asi?



(hasta donde se)...
- autocompletar no trabaja en conjunto con las reglas de validacion por lista
- la caracteristica de autocompletar segun entradas de lista en celdas superiores/inferiores...
(SOLO) funciona para entradas "directas" en las celdas por parte del usuario y...
-> a partir del caracter en el que excel puede diferenciar -posibles- duplicados en los primeros caracteres

te paso al final del presente un ejemplo con una alternativa (no precisamente validacion ni autocompletar en celda) y...
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

para la funcionalidad que buscas, es necesario utilizar un combo de la barra de herramientas cuadro de controles
que es el objeto que cumple con esa caracteristica (mostrar coincidencias segun lo que vas escribiendo)
considerando que (de todas maneras) no te escaparias de usar codigo, podrias hacer que (p.e.) ...

- lo que se escriba en (o seleccione de) el combo, se aplique a la celda activa (siempre que sea de la columna 1 [a])
- si la celda activa NO es de la columna a, el combo NO tenga nada que seleccionar
- 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))
(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 <-

sigue un ejemplo para lograr lo expuesto (puede mejorarse y/o adaptarse segun necesidades)

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