Segue mais um exemplo de programação VBA para manipular AutoFiltro no MS Excel.
O uso desse código nas listas de dados contidas nas tabelas das nossas planilhas.
Quando nomeamos as nossas tabelas de dados constituimos um ListObject, o qual automaticamente recebe a sua própria propriedade AutoFiltro.
Autofiltro - Mostrando todos os registros (Show All Records)
Autofiltro - Acionando o AutoFiltro da nossa Lista (Turn On List AutoFilter)
Autofiltro - Desligando a Lista de AutoFiltro (Turn Off List AutoFilter)
Autofiltro - Contando as Listas de AutoFiltros (Count List AutoFilters)
Autofiltro - Ocultando todas as Setas da lista de AutoFiltro, exceto uma (Hide Arrows Specific Columns)
Autofiltro - Ocultando Setas específicas nas listas de AutoFiltro (Hide Arrows Specific Columns)
Autofiltro - Visualizar todas as setas da Lista AutoFiltro (Show All List AutoFilter Arrows)
Autofiltro - Copiando Linhas filtradas específicas, sem os títulos (Copy Filtered List Rows Without Headings)
Autofiltro - Copiando Linhas filtradas específicas, com os títulos (Copy Filtered List Rows With Headings)
Autofiltro - Conte as Linhas Visíveis da Lista (Count Visible List Rows)
Com o exemplo do código a seguir, exibiremos uma mensagem que mostra quantas linhas estão visíveis após a aplicação do filtro:
Sub CountVisibleRowsList1()
Dim Lst As ListObject
Dim rng As Range
Set Lst = ActiveSheet.ListObjects(1)Set rng = Lst.AutoFilter.RangeMsgBox rng.Columns(1). _SpecialCells(xlCellTypeVisible).Count - 1 _& " of " & rng _
.Rows.Count - 1 & " Registros"
End Sub