Skip to main content

Почему тормозит Excel? Как уменьшить размер файла Excel? Решения проблемы.

Логотип Microsoft ExcelВсем привет!

Сегодня расскажу о проблемах самого популярного табличного офисного редактора Microsoft Excel, и как с этим бороться…

Бывает так, что файл книги Microsoft Excel содержащий несколько листов по 1000 строк, с простыми формулами и без связанных таблиц начинает весить непомерно много  — 100 или даже 200 мегабайт, при этом открывается файл очень долго, иногда бывает даже сохраняться отказывается. Что делать в этом случае? Давайте разбираться.

 

Большой размер файла Micosoft Excel. Что делать? Как убрать тормоза при работе с Excel. Полное руководство.
Большой размер файла Micosoft Excel причина зависаний и торможений.

В этой статье я хочу предложить несколько вариантов борьбы с «тяжелыми» файлами Microsoft Excel, которыми пользуюсь сам. Так же, в комментариях с удовольствием почитаю ваши варианты борьбы с тормозами и оптимизацией размера .xls и .xlsx файлов.

Первое. Пустые ячейки с данными.

Такая ситуация может возникнуть в следствии копирования. Это так же может произойти, если данные в документ excel вставляются листами или столбцами/строками из файлов, созданных в ИНФИН, 1С, SAP и других подобных ERP-системах. Объясняется это тем, что они генерируют в файл «пустые» ячейки (забитые пробелами) и объекты типа Надпись. Со временем файл становится очень объемным, так как забивается этими невидимыми глазу данными.
Для автоматического удаления этих пустых ячеек есть отличный макрос, который вычистит все пустые ячейки автоматически, после чего торможение при работе с файлом, а так же его размер сильно сократится:

Sub DeleteAllTextBox()

Dim oSh As Shape

For Each oSh In ActiveSheet.Shapes

oSh.Delete

Next oSh

End Sub

Отработав, через какое-то время он очистит пустые ячейки, после чего можно сохранить документ и, как говориться, почувствовать разницу!

Второе. Очищаем неиспользуемый диапазон листа.

Если в вашей книге Excel есть таблица с данными, допустим 10 на 10, но это не значит что остальные ячейки листа пустые (особенно часто это происходит при копировании данных). Проверить это просто – нажмите на клавиатуре сочетание клавиш Ctrl+End и посмотрите куда переместится активная ячейка. Если она прыгнет на фактическую последнюю ячейку с данными на листе – отлично. А если вдруг ускачет сильно правее и/или ниже «в пустоту» – дело плохо: все эти ненужные пустые ячейки Excel тоже запоминает внутри файла.
Поправить ситуацию достаточно просто, для этого нужно:

    1. Выделяем первую пустую строку под вашей таблицей;
    2. Нажимаем сочетание клавиш Ctrl+Shift+стрелка вниз (после этого должны выделится все пустые строки до конца листа в книге);

      Поиск пустых строк в Microsoft Excel. Полное пошаговое руководство на pingmeup.ru
      Поиск пустых строк в Microsoft Excel. Нашлось более 65000 пустых строк на листе.
    3. Удалите их, через меню ленты: Главная – Удалить – Удалить строки с листа (или горячей клавишей Ctrl+знак минус);
    4. Те же операции по удалению проделываем и со столбцами.
    5. Если ваша книга Excel содержит один лист, то пропускаем этот пункт и переходим к пункту 6, если у вас в книге много листов, то вышеприведенные операции нужно повторить на каждом листе, при этом, при нажатии комбинации клавиш Ctrl+End активная ячейка перемещается не на последнюю ячейку с заполненными данными, а в пустую ячейку, которая может быть ниже или правее.
    6. Сохраняем наш очищенный xlsx-файл. Теперь самое время проверить размер файла:

      Наш 111-мегабайтный файл Excel после очистки от пустых строк превратился в 1,23 Мб.

Как видите, достаточно несложные манипуляции могут помочь оптимизировать файлы Microsoft Excel, главное найти правильный подход.

Третье. Пересохраняем файл.

Бывает и так, что скрипт приведенный выше не панацея, и после того как он отработал размер файла не уменьшился. Переходим к варианту 2: попробуйте сохранить файл в бинарном формате Excel. Смотрите, что получилось у меня, на примере все того же 111-мегабайтного файла:

Бинарный формат xlsb Microsoft Excel
Сохраняем файл в бинарный формат .xlsb.

После сохранения наш файл сильно похудел и уменьшился в размере, при том что мы не проводили никаких дополнительных чисток:

 

111 мегабайтный файл Excel после сохранения в бинарный формат
«Похудевший» 111-мегабайтный файл Excel после сохранения в бинарный формат .xlsb.

Как видно из скриншота, наш файл стал занимать объем в почти в 22 раза меньший,  просто при смене формата с .xlsx в xlsb. Открываться он стал быстрей, при этом мы не потеряли функционал файла, формулы, стили и оформление — все это сталось на месте.

Послесловие

Про Формат файла. Еще раз. Со всей внимательностью отнеситесь к формату файла. Если у вашего Excel-документа формат файла .xls, не поленитесь пересохранить его в новый формат .xlsx. И сейчас я кратко объясню почему это необходимо сделать:

Дело в том, что формат *.xls давно и безвозвратно устарел, Microsoft перетягивает поддержку этого формата от версии к версии лишь для устранения проблем совместимости со старыми документами.

Начиная с версии Excel 2007 компания-разработчик Microsoft ввела новые, современные форматы файлов.

Формат .xlsx — это структурированный, по сути заархивированный xml-файл, который при том же объеме данных способен быть в среднем 6 раз меньше устаревшего .xls.

Формат .xlsm используется для макросов.

Формат .xlsb — бинарный формат, который в 2 раза более компактен но уже по сравнению с .xlsx.

Если на работе или дома вы увидели, что коллеги или родные работают со старым форматом Excel-документов порекомендуйте им пересохранить их в новый, современный формат. Старый – это архаизм.

Заключение

На данный момент я рассказал вам о 3-х вариантах оптимизации и очистки .xls и .xlsx файлов от мусора, который увеличивает объем документа и приводит к торможению. Какой метод лучше и каким пользоваться? — В итоге решать вам.

Подписывайтесь на обновления! Всем удачи и добра!

One thought to “Почему тормозит Excel? Как уменьшить размер файла Excel? Решения проблемы.”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *