Saltar al contenido

Otro filtro múltiple


Antoni

Recommended Posts

publicado

Hoy Viernes Santo, está lloviendo en Bertamiráns (mi pueblo) desde esta mañana y hace frío, o sea, he decidido inyectarme el whisky directamente en vena, y me ha salido esto que os adjunto.

Se trata de una búsqueda, la enésima que subo, ya he perdido la cuenta, pero el tema me fascina.

Esta vez es una búsqueda de aspecto minimalista pero "superpotente".

Se selecciona una columna y se introduce un texto y se pulsa el botón de play o intro.

El resultado es una hoja idéntica a la hoja activa pero solo están visibles las filas que cumplen con el texto introducido, y ahí esta la diferencia, en el texto.

Voy a tratar de explicarme lo mas claro posible:

El adjunto es un archivo ficticio con un código y tres descripciones.

Al abrirlo se ejecuta de forma automática el formulario de búsqueda, seleccionar la columna y en el texto sepueden poner palabras sueltas, es decir:

Si seleccionamos la columna "DESCRIPCION I" y si ponemos "Llave 14 mm" nos saldrán todas las filas que que contengan las tres palabras escritas, es decir, "llave", "14", y "mm" estén donde estén dentro de la "DESCRIPCION I", ya sea en minúscula o en minúscula.

Pero aún hay mas, si escribimos en el texto: "Llave 14 mm|Alicate Curvo", nos devolverá todas "la llaves de 14 mm y todos los alicates curvos", sea cual la situación de cada una de las palabras y en el orden en que estén escritas.

Si se sale del formulario con la cruz roja del formulario, se eliminan los resultados, si se pulsa el botón de play, se conservan.

Hay dos macros Ctrl+b muestra el formulario de búsqueda, si se pulsa Ctrl+e, se eliminarán los resultados.

Pues nada mas.

Besitos y sed buenos

MacroSearch.xls

publicado

Hola Antoni,

funciona muy bien. Tengo un par de preguntas:

1) T.ListCount -> No entiendo como T toma los atributos comboBox, ¿podrias explicar un poco como es que devuelve el numero de filas de la hoja?, o si está definido, ¿donde?

2) En el bucle lbound to ubound, tampoco he sido capaz de entender como funciona la linea:

If Not UCase(T.List(x)) Like "*" & UCase(Palabras(y)) & "*" Then[/CODE]

Estoy un poco oxidado ya en excel jejeje

Un saludo

[note]Mensaje editado para insertar etiquetas [code] al código, como está indicado en las Normas del Foro[/note]

publicado

Santo:

Te lo cuento a la tarde que es hora de ir a tomar la birra,...jajaja

Un saludo

publicado

Hola Santi, ya he vuelto de la siesta:

Te adjunto de nuevo el aporte con un botón especial para ti. Presiónalo y te quedará clara la primera pregunta.

En cuanto a la segunda:

[COLOR=#4D5153]If Not UCase(T.List(x)) Like "*" & UCase(Palabras(y)) & "*" Then[/COLOR][/CODE]

[i][b]If[/b][/i] = Si

[i][b]Not[/b][/i] = No

[i][b]Ucase[/b][/i] = Función de texto que convierte a mayúsculas

[i][b]T.List (x)[/b][/i] = Fila x, primera columna del combo T

[i][b]Like[/b][/i] = Condición que significa parecido a

[i][b]"*"[/b][/i] = Caracter comodín por la izquierda

[i][b]Palabras (y) [/b][/i]= Elemento y del array Palabras obtenido con la función [i][b]Split caracter "|"[/b][/i] del texto de búsqueda

[i][b]"*"[/b][/i] = Caracter comodín por la derecha

Resumiendo, se cumple la condición si la celda en cuestión no contiene el texto a buscar.

Besitos

MacroSearch.xls

publicado

Anda, que ingenioso lo de esconder el combo... y tambien lo de la comparacion parcial, la cual, tengo que reconocer, me ha costado pillarlo mientras simplificaba jejeje:

?"pruebas" Like "*pruebas*"
Verdadero
?"prueba" Like "*pruebas*"
Falso
?"pruebas" Like "*prueba*"
Verdadero[/HTML]

Saludos y gracias por la explicacion

  • 2 weeks later...
publicado

Gracias por el aporte, de seguro esta busqueda la usare.

de donde se te ocurren tantas cosas, y yo aun sufriendo con mi proyecto ...

ah la BD me parece conocida, jejejeje

Nuevamente gracias por tus grandes aportes

Saludos

Celest3

  • 6 months later...
publicado

Estoy encantado con el aporte porque lo estoy buscando todo el fin de semana y por fin encuentro lo que necesito (gracias al Indice que has hecho recientemente)

Pero hay un problema: ¿es que no se pueden eliminar las filas filtradas?

Al leer lo de Ctrl+e pensaba que hacía eso mismo, pero luego me he dado cuenta que se refería a la visulización de los resultados. Entonces, una vez filtrados, he probado por el método tradicional ("eliminar filas") y sí que las elimina, pero una vez que vuelves a buscar aparecen todos los datos originales. ¿Dónde está el truco (o hago algo mal)?

Saludos.

publicado

El truco está en que el resultado del filtro se visualiza en una hoja de trabajo que al cerrar el formulario se elimina.

Por mas cosas que hagas en esa hoja es como cascarsela a un muerto.

  • 2 years later...
publicado

Excelente!!

Macro Antonino se podría adaptar mas opciones de filtrado al formulario?, en mi caso tengo productos con diferentes criterios de filtración

Ejemplo

Origen:(USA, CHINA, MEXICO)

Presentación:(LITRO,BALDE,GALON,TAMBOR)

Aplicación: (MOTOR, CAJA, DIFERENCIAL)

y así sucesivamente los tengo que filtrar columna por columna hasta agrupar todos los datos que deseo visualizar en tu aporte también tenemos filtros múltiples pero para cada caso en particular, en mi caso quiero filtra de una ves en función a varios criterios

filtracion.xls

publicado
Excelente!!

Macro Antonino se podría adaptar mas opciones de filtrado al formulario?, en mi caso tengo productos con diferentes criterios de filtración

Ejemplo

Origen:(USA, CHINA, MEXICO)

Presentación:(LITRO,BALDE,GALON,TAMBOR)

Aplicación: (MOTOR, CAJA, DIFERENCIAL)

y así sucesivamente los tengo que filtrar columna por columna hasta agrupar todos los datos que deseo visualizar en tu aporte también tenemos filtros múltiples pero para cada caso en particular, en mi caso quiero filtra de una ves en función a varios criterios

Los aportes hacen lo que hacen, es el usuario el que se adapta al aporte, no al revés. Lo tienes a tu disposición para modificarlo a tu antojo.

Si tienes problemas, abre un tema en el apartado de macros y efectúa la consulta pertinente.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.