Método Range.AutoFilter (Excel)

Filtra una lista mediante Autofiltro.

Sintaxis

expression.AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown)

expresión Expresión que devuelve un objeto Range.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
Field Optional Variant Desplazamiento de enteros del campo en el que desea basar el filtro (desde la izquierda de la lista; el campo de la extrema izquierda es el campo uno).
Criteria1 Optional Variant Los criterios (una cadena; por ejemplo, "101"). Use "=" para buscar campos en blanco, "<>" para buscar campos que no estén en blanco y "><" para seleccionar campos (sin datos) en tipos de datos.

Si omite este argumento, el criterio es todo. Si Operator es xlTop10Items, Criteria1 especifica el número de elementos (por ejemplo, "10").
Operator Opcional XlAutoFilterOperator Una constante XlAutoFilterOperator que especifica el tipo de filtro.
Criteria2 Optional Variant El segundo criterio (una cadena). Se usa con Criteria1 y Operator para construir criterios compuestos. Se usa también como criterio único en campos de fecha que se filtran por fecha, mes o año. Seguido de una matriz en la que se detalla el filtrado Array(Nivel, Fecha). Donde el Nivel es 0-2 (año, mes, fecha) y la Fecha es una fecha válida dentro del período de filtrado.
SubField Optional Variant El campo de un tipo de datos en el que quiere aplicar los criterios (por ejemplo, el campo "Población" de Geografía o el campo "Volumen" de acciones). Si se omite este valor se establece como destino el "(Valor para mostrar)".
VisibleDropDown Optional Variant True para mostrar la flecha desplegable Autofiltro del campo filtrado. False para ocultar flecha desplegable Autofiltro del campo filtrado. True es el valor predeterminado.

Valor devuelto

Variant

Comentarios

Si omite todos los argumentos, este método simplemente alterna la visualización de la flecha desplegable Autofiltro en el rango especificado.

Este método no es compatible con Excel para Mac. Los métodos similares de Selection y ListObject son compatibles.

A diferencia de las fórmulas, los subcampos no requieren corchetes para incluir espacios.

Ejemplo

En este ejemplo, se filtra una lista que comienza en la celda A1 de Hoja1 para mostrar solo las entradas en las que el campo uno es igual a la cadena Otis. La flecha desplegable del campo uno estará oculta.

Worksheets("Sheet1").Range("A1").AutoFilter _
 Field:=1, _
 Criteria1:="Otis", _
 VisibleDropDown:=False

Este ejemplo filtra una lista a partir de la celda A1 en Hoja1 para mostrar solo las entradas en las que los valores del campo uno contienen un campo secundario, División de administración 1 (estado, provincia u otro), donde el valor es Washington.

Worksheets("Sheet1").Range("A1").AutoFilter _
 Field:=1, _
 Criteria1:="Washington", _
 SubField:="Admin Division 1 (State/province/other)"

En este ejemplo se filtra una tabla, Tabla1, en la Hoja1 para mostrar solo las entradas en las que los valores del campo uno tienen un "(Valor para mostrar)" que es 1, 3, Seattle o Redmond.

Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria1:=Array("1", "3", "Seattle", "Redmond"), _
 Operator:=xlFilterValues

Los tipos de datos pueden aplicar varios filtros de campo secundario. En este ejemplo se filtra una tabla, Tabla1, en la Hoja1 para mostrar solo las entradas en las que los valores del campo uno contienen un campo secundario, Zona horaria, donde el valor es Zona horaria del Pacífico y el campo secundario llamado Fecha de fundación es 1851 o "(sin datos)".

Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria1:="Pacific Time Zone", _
 SubField:="Time Zone(s)"
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria1:=Array("1851", "><"), _
 Operator:=xlFilterValues, _
 SubField:="Date founded"

En este ejemplo se filtra una tabla, Tabla1, en la Hoja1 para mostrar las 10 entradas principales para el campo uno en función del campo Población.

Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria1:="10", _
 Operator:=xlTop10Items, _
 SubField:="Population"

Este ejemplo, se filtra una tabla, Tabla1, en Hoja1 para mostrar todas las entradas correspondientes a Enero de 2019 y Febrero de 2019 en el campo uno. No es necesario que haya una fila que contenga el 31 de enero.

Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria2:=Array(1, "1/31/2019", 1, "2/28/2019") 

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.