Pregunta para LuisMondelo sobre autocompletar listas

En otra pregunta que te hice me resolviste a la perfección un problema sobre un combobox.

En este caso estoy usando una lista desplegable para rellenar datos en las celdas de la columna H mediante el uso de datos > validación > permitir listas y todo funciona de maravilla salvo que la lista desplegable no la puedo AUTOCOMPLETAR, es decir que si escribo "m" se seleccione el primer valor de la lista con "m" sin necesidad de buscarlo manualmente. Sé que las listas tienen ese problema pero creo que hay un forma de solucionarlo con un filtro avanzado o con vba, no sé.

Uso excel 2003 y el rango de la lista se halla en la columna I. Se trata de un rango dinámico. La lista desplegable se usa para rellenar las celdas de H.

Si pudieras ayudarme para autocompletar una lista desplegable te lo agradecería mucho.

Gracias por tu tiempo y tu paciencia con este usuario.

1 respuesta

Respuesta
1

Para hacer algo asi es mejor hacerlo con un combo modificando su propieddad Matchentry a su nivel 0 para que busque las coincidencias que aparezcan al teclear la primera letra.

Como siempre tienes razón pero había optado por la validación de datos con lista desplegable porque así en cada celda aparece la lista desplegable y es más cómodo y el combobox se halla situado en una posición fija de la hoja y claro, si estsoy en la celda A1000 Y el combobox lo tengo posicionado al inicio de la hoja cerca de A1 resulta incómodo desplazarme hasta él.

¿Cómo podría posicionar o mostrar el combobox a la izquierda o cerca de la celda activa donde debo rellenarla con los valores del cuadro combinado? -teniendo en cuenta que la celda activa va cambiando conforme me muevo por la columna H- Si me pudieras indicar el código.

Gracias por la ayuda

Esta es mi idea:

Dibuja el combobox en la parte de arriba de la hoja, digamos entre las filas 1 y 3.

Luego inmoviliza las 3 primeras filas en la inmovilización de paneles y problema resuelto

Pues sí la verdad es que no se me había ocurrido lo de inmovilizar los paneles y eso que lo uso para los encabezados de columnas.

Ah por cierto si es posible una cosa más, ¿cómo podría mostrar y ocultar el combobox en una hoja en función de si me sitúo en la columna A (aquí debería mostrarse el combobox) o si estoy en otra columna (entonces debería no estar visible el combobox en la hoja).

Lo he intentado con if y combobox1.visible = true pero no me funciona y tampoco tengo claro en qué evento debería añadirlo.

Gracias de antemano

Sería dentro del evento selection_change

¿Ok?

Me podrías especificar si no es mucha molestia cuál sería el código completo para mostrar y ocultar el combobox1 en función de si me hallo en la columna A (aquí mostrar el combo) o si me hallo en otra columna de la hoja (aquí ocultar el combo).Con esto tendría ya todo resuelto.

Gracias por tu tiempo y tu paciencia

Claro, este sería un ejemplo:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
ActiveSheet.ComboBox1.Visible = True
Else
ActiveSheet.ComboBox1.Visible = False
End If
End Sub

recuerda finalizar la consulta

Funciona perfecto me resolviste como siempre la duda.

Muchas gracias por la rapidez de respuesta y por el tiempo dedicado. Sois encomiables

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas