Método Range.AutoFilter (Excel)

Filtra uma lista usando o AutoFilter.

Sintaxe

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

expressão Uma expressão que retorna um objeto Range.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Field Opcional Variant O deslocamento de um inteiro do campo no qual você deseja basear o filtro (da esquerda da lista; o campo mais à esquerda é o campo um).
Criteria1 Opcional Variant Os critérios (uma cadeia de caracteres; por exemplo, "101"). Use "=" para localizar os campos em branco "<>" para localizar os campos que não estão em branco e "><" para selecionar campos (Sem Dados) em tipos de dados.

Se esse argumento for omitido, os critérios serão Tudo. Se Operator for xlTop10Items, Criteria1 especificará o número de itens (por exemplo, "10").
Operator Opcional XlAutoFilterOperator Uma constante XlAutoFilterOperator especificando o tipo de filtro.
Criteria2 Opcional Variantes O segundo critério (uma cadeia de caracteres). Usado com Criteria1 e Operator para criar critérios compostos. Também é usado como um critério único em campos de data filtrados por data, mês ou ano. Seguido por uma matriz detalhando a filtragem Matriz (Nível, Data). Onde Nível é 0-2 (ano, mês, data) e Data é uma data válida dentro do período de filtragem.
SubField Optional Variant O campo de um tipo de dados no qual se pode aplicar os critérios (por exemplo, o campo "População" dos campos Geografia ou "Volume" das Ações). A omissão esse valor visa o "(Valor de Exibição)".
VisibleDropDown Opcional Variantes True para exibir a seta suspensa do Filtro Automático para o campo filtrado. False para ocultar a seta suspensa do Filtro Automático para o campo filtrado. True, por padrão.

Valor de retorno

Variant

Comentários

Se você omitir todos os argumentos, este método vai simplesmente alternar a exibição das setas suspensas do filtro automático no intervalo especificado.

O Excel para Mac não é compatível com esse método. Métodos semelhantes para Selection e ListObject são suportados.

Ao contrário das fórmulas, os subcampos não exigem colchetes para incluir espaços.

Exemplo

Este exemplo filtra uma lista começando na célula A1 na Planilha1 para exibir somente as entradas nas quais o campo 1 é igual à cadeia de caracteres Otis. A seta suspensa do campo 1 será ocultada.

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

Este exemplo filtra uma lista iniciando na célula A1 na Planilha1 para exibir somente as entradas nas quais os valores do campo 1 contêm um SubField, Divisão do Administrador 1 (Estado/província/outros), onde o valor é Washington.

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

Este exemplo filtra uma tabela, Tabela1, na Planilha1 para exibir somente as entradas nas quais os valores do campo 1 possuem um "(Valor de Exibição)" que é 1, 3, Seattle ou Redmond.

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

Tipos de dados podem aplicar vários filtros SubField. Este exemplo filtra uma tabela, Tabela1, na Planilha1 para exibir somente as entradas nas quais os valores do campo 1 contêm um SubField, Fuso Horário(s), onde o valor é o Fuso Horário do Pacífico, e onde o SubField chamado Data de Fundação é 1851 ou «(Não Há Dados)».

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"

Este exemplo filtra uma tabela, Tabela1, na Planilha1 para exibir as 10 principais entradas para o campo 1 com base no SubField População.

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

Este exemplo filtra uma tabela, Tabela1, na Planilha1 para exibir as principais entradas de janeiro e fevereiro de 2019 para o campo um. Não é preciso ter uma linha contendo 31 de janeiro.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.