Macro para Filtro Avanzado por Columnas en Excel
Publicado por Marco Antonio (1 intervención) el 24/10/2018 20:08:37
Hola, buen dia!
Espero me puedan ayudar con mi problema.
Tengo un libro de Excel con información de A4 hasta F#####. En la fila 3, están mis encabezados y en la fila 2, tengo las celdas que sirven para buscar la información que necesito y lo hacen por columna. Se entiende que la Celda A2, buscara información en la columna A .. Y así hasta la Celda F2, buscara en la columna F. Este filtro debera mostrar la info sobre la misma hoja y aplicar filtro sobre filtro. La macro que tengo es:
También puedo buscar con cualquier parte de la descripción del contenido de cada celda, no precisamente con el comienzo o el final, el problema es que al momento de aplicar el primer filtro en la celda A2 y manda a buscar en la columna A, si lo hace, pero si aplico un segundo filtro en cualquiera de las otras columnas, me manda un único registro, no aplica el segundo filtro, sobre el primero.
NOTA: La columna C debe buscar por fecha, de preferencia en ingles.
Si es necesario enviar el archivo, lo puedo hacer sin problema.
Les agradezco mucho su ayuda, de antemano.

Espero me puedan ayudar con mi problema.
Tengo un libro de Excel con información de A4 hasta F#####. En la fila 3, están mis encabezados y en la fila 2, tengo las celdas que sirven para buscar la información que necesito y lo hacen por columna. Se entiende que la Celda A2, buscara información en la columna A .. Y así hasta la Celda F2, buscara en la columna F. Este filtro debera mostrar la info sobre la misma hoja y aplicar filtro sobre filtro. La macro que tengo es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A2:F2")) Is Nothing Then
If ActiveSheet.FilterMode Then ShowAllData 'Selection.AutoFilter
If Target.Count > 1 Then Exit Sub
u = Range("A" & Rows.Count).End(xlUp).Row
Range("AA2:AF2") = [A4]
Range("AA3:AF3") = ""
If [A2] <> "" Then [AA3] = "*" & [A2] & "*"
If [B2] <> "" Then [AB3] = "*" & [B2] & "*"
If [C2] <> "" Then [AC3] = "*" & [C2] & "*"
If [D2] <> "" Then [AD3] = "*" & [D2] & "*"
If [E2] <> "" Then [AE3] = "*" & [E2] & "*"
If [F2] <> "" Then [AF3] = "*" & [F2] & "*"
Range("A4:F" & u).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range("AA2:AF3"), Unique:=False
End If
End Sub
También puedo buscar con cualquier parte de la descripción del contenido de cada celda, no precisamente con el comienzo o el final, el problema es que al momento de aplicar el primer filtro en la celda A2 y manda a buscar en la columna A, si lo hace, pero si aplico un segundo filtro en cualquiera de las otras columnas, me manda un único registro, no aplica el segundo filtro, sobre el primero.
NOTA: La columna C debe buscar por fecha, de preferencia en ingles.
Si es necesario enviar el archivo, lo puedo hacer sin problema.
Les agradezco mucho su ayuda, de antemano.
- filtro-en-celdas.zip(60,2 KB)
Valora esta pregunta


0