Generalmente utilizamos un formulario o Userform destinado a búsquedas de información.
Pero si buscamos algo sencillo estos 2 ejemplos nos servirán: filtrar tablas de datos dinámicamente, es decir que a medida que escribimos los criterios o los seleccionamos ya vamos obteniendo el filtrado de los datos.
Ejemplo 1: A medida que se escriben los criterios en un rango destinado a tal fin, la tabla se irá filtrando.
El proceso se ejecuta en el evento Change de la hoja donde se encuentra esta tabla. Y llama a una subrutina llamada 'filtrando' que se encuentra en un módulo.
'se controla lo ingresado en rango de criterios
If Intersect(Target, Range("$A$2:$C$2")) Is Nothing Then Exit Sub
On Error Resume Next
Call filtrando
End Sub
En este ejemplo, el proceso se ejecuta al seleccionar una celda de las columnas A:C. Por lo tanto el código se colocará en la hoja a trabajar, evento Selection_Change.
'solo se ejecuta cuando se seleccione alguna celda en columnas A:C, a partir de la fila 4
If Target.Column > 3 Or Target.Row < 4 Then Exit Sub
'según en qué columna se hizo la selección se volcará ese contenido al rango de criterios
If Target.Column = 1 Then [J2] = Selection.Value
If Target.Column = 2 Then [K2] = Selection.Value
If Target.Column = 3 Then [L2] = Selection.Value
'llama a macro de filtrado
Call filtrandoAux
End Sub
Desde el siguiente enlace se puede descargar el libro con la programación de los ejemplos, tanto del video 35 como del 36:
http://aplicaexcel.com/Blog/FiltroAvanzado.xlsm
No hay comentarios.:
Publicar un comentario