PARA DAM: Auto-filtro VBA con varios criterios

Estoy tratando de hacer un auto-filtro en VBA pero no me da el resultado que deseo, tengo una tabla con 5 columnas, en la columna 3 tengo el numero de ID de cada uno de los clientes que manejo "N" numero de clientes (pueden varias en numero de registros), pero lo que deseo hacer es que el auto-filtro muestre todo lo que sea diferente a los ID (1673, 9317 y 4482), tengo el siguiente código pero no me da el resultado que deseo, me puedes ayudar por favor, muchas gracias, saludos.

    Rows("7:7").Select
    Selection.AutoFilter Field:=3, _
                         Criteria1:="<>1673", _
                         Operator:=xlAnd, _
                         Criteria2:="<>9317", _
                         Operator:=xlAnd, _
                         Criteria3:="<>4482"

1 Respuesta

Respuesta
1

El autofiltro solamente acepta 2 criterios.

En estos casos, los valores que sí quieres mostrar los almacenas en un arreglo. El siguiente código, en el ciclo For excuyo los valores que no quieres, los demás valores se almacenan en el arreglo.

El código sería el siguiente:

Sub test()
  Dim lr As Long, i As Long, n As Long, ary() As Variant
  If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
  lr = Range("C" & Rows.Count).End(3).Row
  For i = 8 To lr
    Select Case Range("C" & i).Value
      Case "1673", "9317", "4482"
      Case Else
        n = n + 1
        ReDim Preserve ary(n)
        ary(n) = "" & Range("C" & i).Value2
    End Select
  Next
  Rows("7:7").AutoFilter 3, ary, xlFilterValues
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas