Фильтрация Excel очень медленная

Фильтрация Excel очень медленная

В компании, где я работаю, у нас есть таблица Excel для отслеживания покупок, сделанных компанией за последний год. Эта таблица содержит около 1500 строк и 30 столбцов.

Несколько дней назад фильтрация в этой таблице стала очень медленной. Фильтрация любого столбца по любому ключевому слову занимает около 5 секунд. Это довольно долго, потому что эта таблица часто фильтруется, и это раздражает. В таблице нет никаких формул или ссылок на другие таблицы или файлы. На изменениях ячеек запущены два макроса, но отключение обоих макросов не делает работу быстрее.

Я также попробовал удалить все строки, кроме одной, но применение фильтра к оставшейся строке все равно занимает 5 секунд.

Есть ли у кого-нибудь идеи, почему это может быть так медленно?

решение1

Обычно это происходит из-за того, что Excel считает, что набор данных намного больше, чем на самом деле. Например, если кто-то перешел к ячейке A1048576 и отформатировал ее, даже если она не выглядит по-другому, теперь Excel думает, что у вас более миллиона строк. Проверьте это, выбрав ячейку A1 и нажав CTRL + End. Это перенесет вас к тому, что Excel считает последней ячейкой на листе. Если проблема в этом, вы можете удалить все строки и/или столбцы после того, где заканчиваются ваши фактические данные, сохранить файл, закрыть его и снова открыть. Это должно помешать Excel видеть все эти пустые ячейки как часть данных. Если это не сработает, выберите ваши данные и вставьте их в новый файл, чтобы исправить это.

решение2

  1. Выбрать все ( Ctrl+ A)
  2. Перейдите в раздел Главная -> Редактирование -> Очистить -> Очистить форматы.
  3. Сохраните файл и повторно примените фильтр.

Готово. У меня это работает каждый раз; пожалуйста, дайте мне знать, работает ли это у вас!

решение3

Возможно, уже слишком поздно, но отключите автоматические вычисления. В VBA я использую эти два: отключаю автоматические вычисления, применяю фильтры, затем снова включаю автоматические вычисления.

Sub automatic_update_on()

   Application.Calculation = xlAutomatic

End Sub

Sub automatic_update_off()

   Application.Calculation = xlManual

End Sub

решение4

В моем случае это помогло удалить все комментарии. Время фильтрации сократилось с 1,5 минут до менее секунды для таблицы с 100 000+ записей.

Связанный контент