Macro para Filtro Automático en diferentes columnas.

Tengo un problema al momento de correr una macro, esta se encuentra en la hoja del documento y me ayuda a filtrar por columnas la información de una tabla, en las celdas A2 hasta F2, puedo colocar información y se filtra automáticamente. La celda A2 filtra en la columna A, la B2 filtra en la columna B y así sucesivamente...

El problema es que al momento de escribir un criterio en cualquiera de las celdas entre A2 hasta F2, la macro siempre deja la información de la fila 3 y a partir de la fila 4, filtra correctamente hasta la fila donde termine la información. Ejemplo.

La macro que tengo es esta: 

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").Value = [A3:F3].Value
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("A3:F" & u).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range("AA2:AF3"), Unique:=False
End If
End Sub

Quisiera que filtrara todo completo, desde la fila 3 hasta " N " numero de fila que contenga información.

Les agradezco por su tiempo si hay necesidad de enviar el archivo, sin ningún problema.

1 respuesta

Respuesta
1

El filtro avanzado está suponiendo que tus títulos están en la fila 3.

Necesitas poner en la fila 3 tus títulos.

En tu imagen no se ven los títulos, pero supongo que están en la fila 1, pasa los títulos a la fila 3 y que tu información empiece en la fila 4. También supongo que esos mismos títulos están en las celdas AA2:AF2

Realiza los cambios y me comentas.

Ya te había ayudado con este filtro. El problema es que debes tener encabezados. El filtro avanzado funciona con encabezados. Si no pones encabezados, el filtro avanzado supone que el título está en la fila 3

Range("A3:F" & u).AdvancedFilter 

Ya revisé las respuestas, simplemente regresa los títulos a la fila 3, tal y como los tenías antes y la macro volverá a funcionar.

[No olvides valorar la respuesta.

Dante, tenias razón, tengo otra macro antes que se ponga a funcionar esta, y la otra era la que me eliminaba los títulos, no vi ese detalle por estar viendo el código, muchas gracias! 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas