Lista desplegable autocompetable
En una entrada anterior ya hablamos sobre listas desplegables que se actualizaban automáticamente. En esta ocasión vamos a ver como crear listas desplegables que se autocompletan a medida que empezamos a escribir.
Esto añade un avance a la utilidad de las distas desplegables, sobre todo cuando estas listas contienen grandes cantidades de registros. Si bien es cierto, que esto se puede subsanar con la creación de listas dependientes, y tal y como ya comentamos en la entrada sobre ejemplos de aplicación de la función INIDRECTO., hay que pensar que esta solución requiere, que nuestro formulario tenga que utilizar al menos dos listas desplegables para poder seleccionar el dato buscado.
En esta ocasión, vamos a ver la solución sin necesidad de utilizar macros, con el siguiente ejemplo. Puedes descargar el archivo para practicar aquí.
Por un lado, tenemos un listado de artículos con su precio establecido, así como una lista de clientes, y deseamos utilizar listas desplegables para conformar las facturas de venta. Ambas tienen formato de tabla, de modo que cuando se introduzcan nuevos datos estos se incorporen al desplegable automáticamente
Dado la gran cantidad de clientes y artículos, queremos que nuestras listas desplegables se autocompleten o mejor dicho se filtren al escribir parte del texto, para confeccionar nuestra factura.
Desplegable para clientes.
En primer lugar, vamos a crear una celda donde escribiremos parte del texto para que, a partir del dato ahí contenido, pueda filtrar los datos.
Desplegables para productos
- Creamos una celda (E1) donde inicialmente, escribimos el texto que servirá de base para el criterio en la función hallar.
- En E2, escribimos la función: =HALLAR(E1;Lista[Objetos]), y nos devuelve en aquellas celdas donde se encuentra la combinación de letras escrita, valores numéricos indicando que posición ocupan dichos caracteres.
- Añadimos la función es número para cambiar los valores numéricos por VERDADERO y el resto por FALSO: =ESNUMERO(HALLAR(E1;Lista[Objetos])).
- Aplicamos la función Filtrar y Ordenar:
- A hora que ya tenemos el rango de datos que queremos mostrar en el desplegable, acudimos a la hoja facturas y creamos las listas de validación. Para hacerlas todas de una, seleccionamos desde la celda B11 a B21, y accedemos al comando Validación de datos, donde cumplimentamos la ventana del siguiente modo:
- En la pestaña Mensaje de error desmarcamos la opción mostrar mensaje.
La función CELDA()
- Tipo de información. Es un valor de texto que especifica el tipo de información de la celda que se desea obtener.
- Dirección: la referencia, en forma de texto, de la primera celda del argumento ref.
- Columna: El número de columna de la celda del argumento ref.
- Color: Valor 1 si la celda tiene formato de color para los valores negativos; de lo contrario, devuelve 0 (cero).
- Contenido: Valor de la celda superior izquierda de la referencia, no una fórmula.
- Archivo: Nombre del archivo (incluida la ruta de acceso completa) que contiene la referencia, en forma de texto. Devuelve texto vacío ("") si todavía no se ha guardado la hoja de cálculo que contiene la referencia.
- Formato: Si la celda tiene formato de color para los números negativos, devuelve "-" al final del valor de texto. Si la celda está definida para mostrar todos los valores o los valores positivos entre paréntesis, devuelve "()" al final del valor de texto.
- Paréntesis: Valor 1 si la celda tiene formato con paréntesis para los valores positivos o para todos los valores; de lo contrario, devuelve 0 (cero).
- Prefijo: Devuelve un apóstrofo (') si la celda contiene texto alineado a la izquierda, comillas (") si la celda contiene texto alineado a la derecha, un acento circunflejo (^) si el texto de la celda está centrado, una barra inversa (\) si la celda contiene texto con alineación de relleno y devolverá texto vacío ("") si la celda contiene otro valor.
- Proteger: Valor 0 (cero) si la celda no está bloqueada; de lo contrario, devuelve 1 si la celda está bloqueada.
- Fila: El número de fila de la celda del argumento ref.
- Tipo: Devolverá "b" (para blanco) si la celda está vacía, "r" (para rótulo) si la celda contiene una constante de texto y "v" (para valor) si la celda contiene otro valor.
- Ancho
- Referencia. La celda sobre la que desea información es opcional.
Comentarios
Publicar un comentario