Filtragem do Excel muito lenta

Filtragem do Excel muito lenta

Na empresa em que trabalho temos uma planilha Excel para acompanhar as compras que a empresa realizou no último ano. Esta planilha possui aproximadamente 1.500 linhas e 30 colunas.

Há alguns dias, a filtragem nesta planilha começou a ficar muito lenta. Demora cerca de 5 segundos para filtrar qualquer coluna para qualquer palavra-chave. O que é bem longo porque essa planilha é muito filtrada e fica chata. A planilha não contém fórmulas ou referências a outras planilhas ou arquivos. Existem duas macros em execução nas alterações de células, mas desabilitar ambas as macros não torna isso mais rápido.

Também tentei excluir todas as linhas, exceto uma, mas a aplicação do filtro à linha restante ainda leva 5 segundos para ser concluída.

Alguém tem uma idéia de por que isso pode ser tão lento?

Responder1

Isso geralmente acontece porque o Excel pensa que o conjunto de dados é muito maior do que realmente é. Por exemplo, se alguém navegou até a célula A1048576 e a formatou, mesmo que não pareça diferente, agora o Excel pensa que você tem mais de um milhão de linhas. Teste isso selecionando a célula A1 e pressionando CTRL + End. Isso o levará ao que o Excel acredita ser a última célula da planilha. Se esse for o problema, você pode excluir todas as linhas e/ou colunas após o término dos dados reais, salvar o arquivo, fechá-lo e reabri-lo. Isso deve impedir que o Excel veja todas as células vazias como parte dos dados. Se isso não funcionar, selecionar seus dados e colá-los em um novo arquivo deve resolver o problema.

Responder2

  1. Selecione tudo ( Ctrl+ A)
  2. Vá para Home -> Edição -> Limpar -> Limpar Formatos.
  3. Salve o arquivo e aplique novamente o filtro.

Você Terminou. Funciona sempre para mim; Por favor, deixe-me saber se isso funciona para você!

Responder3

Provavelmente é tarde demais, mas desligue os cálculos automáticos. No VBA, eu uso esses dois para desligar os cálculos automáticos, aplicar filtros e, em seguida, ativar novamente os cálculos automáticos.

Sub automatic_update_on()

   Application.Calculation = xlAutomatic

End Sub

Sub automatic_update_off()

   Application.Calculation = xlManual

End Sub

Responder4

No meu caso, ajudou a remover todos os comentários. O tempo de filtragem caiu de 1,5 minutos para menos de um segundo para uma tabela com mais de 100.000 entradas.

informação relacionada