Hola
Tengo una aplicación de pedidos a proveedores en la que tengo que aplicar una lista de verificación con filtro
Hay una tabla de familias de productos
una tabla de productos
al hacer un pedido primero se elige una familia
despues al elegir el producto necesito que se puedan elegir
solo los productos de esa familia, que salgan en el desplegable de la lista de verificación o del listbox o de lo que sea, pero que se pueda elegir solo entre los productos que son de la familia elegida.
He buscado bastante en el foro, he visto los ejemplos clasicos de
paises, provincias y poblaciones.
En todos los casos parece que le resolución pasa por que las provincias se coloquen
en las cabeceras y asi selecciona las poblaciones de esa provincia
En mi caso si son 50 familias que introduce y modifica el usuario final, veo dificil
el solucionarlo de esa manera
Se que es un tema muy solicitado pero no he visto una solución que me cuadre
¿me podeis ayudar ?
desde ya muchas gracias
saludos
Antonio
Aquí es donde llegamos a un límite de Excel, porque es un caso típico de base de datos relacional, asi que todas las soluciones para resolverlo en Excel no dejan de ser rodeos y simplificaciones para algo que otros programas como Access tienen ya resuelto de inicio.
no te digo que cambies de programa, porque Excel tiene muchas otras ventajas.
Sobre tu pregunta:
La manera que yo creo más potente de resolverlo y que permite que las categorías no estén definidas de entrada (que es tu caso, porque serán los usuarios los que las irán definiendo), es mediante una macro que aplique un filtro avanzado sobre las categorías para obtener sólo aquellas de segundo nivel que cumplen el criterio de pertenecer a la categoría de primer nivel elegida. luego la lista lee los resultados de ese filtro.
El listado de productos sería único, mucho mejor que las soluciones de poner cada categoría en una columna.
La macro es necesaria, porque tenemos que aplicarla cada vez que cambiemos la categoría elegida.
El listado de productos y familias tendría que tener un aspecto como este, en el que cada producto tenga información de la familia a la que pertenece.
Lo que suelo hacer (aunque no siempre) es crear uan primera lista con las familias, y luego en el listado de productos aplico una validación al campo familia para que sólo se pueda elegir una familia de la lista definida previamente.
------
Ya sé Excel, pero necesito más ahora en pdf
------
Ya sé Excel, pero necesito más.
Hola Paco
Gracias por tu ayuda
soy Antonio de plantillaexcel.com
Una vez que aplicas el macro con el filtro avanzado ¿como toma la lista los resultados de ese filtro?
¿no tendrias un pequeño ejemplo?
muchas gracias Paco
saludos
Antonio
Hola Antonio.
[ Inicia sesión antes de añadir un comentario, (utiliza "recordarme" para recordar sesión en tu equipo), así queda identificado y se aprueba automátcamente ]
Sobre lo que preguntas, puede que lo más cómodo sea definir un rango dinámico, con un nombre, tu lista lee de ese nombre, así no hay que cambiar el origen de la lista cada vez, lo que va cambiando es el rango al que se refiere el nombre.
¿y cómo se hace un rango de este tipo?
fundamentalmente con la función DESREF
en este ejemplo te pongo un par de combos encadenados, en el primero eliges la familia, y en el segundo eliges un producto de esa familia.
Las listas se obtienen con validación
la lista filtrada se genera con el evento change de la hoja.
Está todo en la misma hoja para ver cómo funciona. Si lo vas a tener en hojas distintas debes tener en cuenta que el filtro avanzado requiere que se ejecute en la hoja de destino donde vas a poner el resultado del filtro (aunque los datos estén en otro lugar). y como siempre, cuidado con la celda activa, la hoja activa y demás.
te adjunto un ejemplo.
cambiando la familia cambian los productos
------
Ya sé Excel, pero necesito más ahora en pdf
------
Ya sé Excel, pero necesito más.
Gracias Paco
lo voy a probar todo
muchas gracias, estas hecho un maestro
saludos
Antonio