Necesito Macro para filtrar con 1 a 5 o 6 criterios

Tengo una hoja con más de 1000 renglones de información de A hasta M.

Los datos de la columna A que es la que quiero filtrar van de 002 hasta 1000.

Hice un bucle pero limpia el primer filtro y salta al segundo, etc.

Los datos los tengo en una variable.

Paso la Macro:

Sub Filtroav()

Set h1 = Worksheets("AutoFilter Guide")
Set h2 = Worksheets("Source")
Dim filt
u = h2.Cells(Rows.Count, 5).End(xlUp).Row
filt = h2.Range("E1:E" & u).Value
With h1
For i = 1 To u
.Range("$A:$E").AutoFilter Field:=4, Criteria1:=h2.Range("E" & i), Operator:=xlAnd
Next i
End With
End Sub

1 respuesta

Respuesta
1

H0la Jorge:

Por lo que entiendo, me imagino que quieres establecer el criterio de la columna A de h2 en la columna A de h1, B de h2 a B de h1 y lo mismo con el resto de las columnas. Si estoy entendiendo bien, lo que deberías hacer es, en la siguiente línea

.Range("$A:$E").AutoFilter Field:=4, Criteria1:=h2.Range("E" & i), Operator:=xlAnd

Reemplazar Field:=4 por Field:=i, de este modo se va moviendo la columna a la que le aplicas el criterio.

Prueba y me comentas cómo te va.

S@lu2

Hola Isaac,

No es así. Tengo en la hoja h2, en la columna E, un rango variable que serán las condiciones para filtrar en la hoja h1 en la columna 4.

Espero me puedas ayudar.

Muchas gracias por tu apoyo!!!

Intentemos lo siguiente:

Sub Filtroav()
  Set h1 = Worksheets("AutoFilter Guide")
  Set h2 = Worksheets("Source")
  h1.Range("A:E").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        h2.Range("E1").CurrentRegion, Unique:=False
End Sub

Algunas consideraciones:

  1. Tu rango de criterios en la hoja 2 debe tener una cabecera que debe ser exactamente la misma que la cabecera de la columna que quieres filtrar en la hoja 1 (Ejemplo: Si la cabecera en la tabla 1 es "Clientes" la cabecera en la tabla de criterios en h2 debe ser "Clientes")
  2. La tabla de criterios de h2 debe estar totalmente aislada de otros datos, por lo tanto, no podría haber texto en la columna D ni en la columna F de h2 (Dime si no es posible cumplir con esto)
  3. Este método te debiera servir para una cantidad indefinida de criterios, sólo debes ir agregando cada criterio como una fila nueva de la tabla.

S@ludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas