Excel Automático: Atualize Filtros Instantâneamente!

Automatize a Atualização de Filtros no Microsoft Excel

O Microsoft Excel oferece um recurso valioso para análise de dados: a filtragem. Essa funcionalidade permite que usuários compreendam grandes conjuntos de dados de maneira eficaz, especialmente aqueles sem expertise em criação de bancos de dados. A filtragem, em sua forma básica, possibilita a inclusão ou exclusão de dados de uma coluna, estendendo essa ação para as linhas correspondentes. Contudo, o Excel não atualiza filtros automaticamente. Se um valor em uma coluna filtrada for alterado, seja manualmente ou por uma fórmula, a filtragem precisa ser reaplicada. Felizmente, um pequeno código pode resolver essa limitação, habilitando a atualização automática dos filtros.

Para utilizar esse código, é necessário habilitar macros e salvar seu arquivo Excel como um arquivo habilitado para macro (.XLSM). Para isso, vá em Arquivo > Salvar como e escolha “Pasta de trabalho habilitada para macro do Excel” na janela de diálogo.

Após salvar o arquivo, selecione a planilha onde os filtros estão aplicados, clique com o botão direito do mouse e escolha “Exibir Código” no menu contextual.

Uma janela do Microsoft Visual Basic será aberta, exibindo a planilha selecionada do Excel. Cole o seguinte código nessa janela:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Me.FilterMode = True Then
    With Application
      .EnableEvents = False
      .ScreenUpdating = False
    End With

    With ActiveWorkbook
      .CustomViews.Add ViewName:="Mine", RowColSettings:=True
      Me.AutoFilterMode = False
      .CustomViews("Mine").Show
      .CustomViews("Mine").Delete
    End With
    With Application
      .EnableEvents = True
      .ScreenUpdating = True
    End With
  End If

End Sub
    

Salve o arquivo novamente. Se você ainda não salvou como um arquivo habilitado para macro, o Excel irá solicitar que o faça. Esta ação criará uma cópia do seu arquivo, sem substituir o original.

Com o código adicionado, qualquer alteração em uma célula de uma coluna filtrada atualizará automaticamente os dados filtrados, respeitando as condições definidas. Este script foi originalmente compartilhado pelo usuário Sorin no Stack Exchange.