Como filtrar a partir de celdas constantes(macro o fórmula)

Como se puede filtrar(con fórumulas o macros) lo siguiente:

Tengo una tabla llamada SOS, la cual tiene filtro de diferentes sku's

Quiero filtrar tomando dos criterios: A1(que especifique en que columna filtrar), y B1(especifique el valor a filtrar), o sea dependiendo el valor de A1 y B1 se filtre en la tabla.

Uso office 2013

(No me sirve: segmentación de datos, debido a que necesito especificar los criterios a filtrar)

2 Respuestas

Respuesta
1

Una opción es filtrar los datos con filtro avanzado, lo puedes hacer directamente seleccionando en el menú Datos / Ordenar y filtrar / Avanzadas.

Sería más fácil ver cómo tienes los datos y explicarte el funcionamiento del filtro avanzado.

La otra opción, para que funcione de manera automática, es con una macro, pero de igual forma tengo que ver cómo tienes los datos para realizar la macro.

¿El resultado del filtro en dónde lo quieres?

Pude ser en la misma posición en donde tienes los datos o en la misma hoja pero en otras celdas o puede ser en otra hoja.

Envíame tu archivo con la tabla SOS y me dices en dónde quieres el resultado del filtro.

Tabla enviada! Gracias!

Se como funcionan los filtros y los avanzados... pero para mi ejemplo no aplica creo...

Disculpa! me revotó tu correo, esta bien escrito?

[email protected]

Te anexo la macro para ponerla en los eventos de worksheet

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("B3:B4")) Is Nothing Then
        u = Range("A" & Rows.Count).End(xlUp).Row
        Range("A12:E" & u).AdvancedFilter Action:=xlFilterInPlace, _
            CriteriaRange:=Range("B3:B4"), Unique:=False
    End If
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

Te pongo la macro con los cambios para que funcione adecuadamente

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("O3:O4")) Is Nothing Then
        Application.ScreenUpdating = False
        If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
        u = Range("A" & Rows.Count).End(xlUp).Row
        Range("A15:DD" & u).AdvancedFilter Action:=xlFilterInPlace, _
            CriteriaRange:=Range("O3:O4"), Unique:=False
        Application.ScreenUpdating = True
    End If
End Sub
Respuesta
1

Se más especifico con tu consulta, un ejemplo de datos y que es lo que quieres, por ejemplo esto se podría hacer con tablas dinámicas.

vale, ya lo intente con Dinamicas y no es lo que me sirve:

Por ejemplo: tengo la siguiente tabla 

Nombre | Ciudad | Formato | Uso

--------------------------------------------

Pablo 

Disculpa le di enviar sin querer!
Nombre | Ciudad | Formato

-----------------------------------

Pablo | DF | uno

Juan | GDL | dos

Luis | DF | uno

Entonces quiero filtrar a gusto del usuario... 

o sea: en una celda especificar la columna a filtrar (Nombre, Ciudad, Formato)

y en otra columna especificar el criterio qué buscar de la columna

Ej: como columna elijo Ciudad y como criterio DF

me entiendes?

Podrías hacer una macro con un bucle for, pero... sigo sin entender muy bien tu consulta, porque en una tabla dinámica podrías filtrar columna por columna, el punto esta en como ubicas los datos al momento de armar la tabla, tal vez si no obtenés el resultado esperado podría ser que tu base de datos no tenga una buena distribución de los mismos, con un bucle como digo podrías levantar los datos obtenidos y el resultado podría quedar limpio en otra hoja, pero... para que te pueda entender mejor mandame el archivo que estas usando.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas