Всем опытным пользователям Miсrosoft Excel встречались файлы xls, xlsx значительного размера, явно не соответствующего объему данных в таблицах.
Открываются такие таблицы долго, сохраняются медленно, по почте не пересылаются…
Попробуем разобраться, как сделать диагностику и уменьшить размер файлов, не прибегая к специальным программам.
1. «Инспектор документов» и «Проверка совместимости»
Эти средства, встроенные в Office 2007 и 2010, позволяют найти:
— скрытые листы, строки и столбцы;
— прочие скрытые объекты, например, скрытые картинки;
— многое другое, не связанное с темой заметки.
Если выполнить «Проверка совместимости» и сохранить «Отчёт о совместимости» на новый лист, то в отчёте можно увидеть, например, какой диапазон, т.е. количество строк и столбцов Excel считает задействованными в таблице.
* если есть ошибки нажимаем «Копировать на новый лист» и смотрим более подробно.
2. Распаковать xlsx файл
Переименовать расширение xlsx файла в zip и распаковать архив.
Можно увидеть размер исходников картинок, размер отдельных листов.
Обратите внимание на размер первого листа книги — sheet1.xml.
Таким образом мы подтвердили, что проблема в первом листе книги.
3. Удалить лишнее
Мы выяснили, что в нашем листе хранится информация о 12397 пустых столбцах. Необходимо от них избавиться.
Проще всего создать новую книгу или лист и скопировать туда рабочую таблицу. Источник удалить.
Если по каким-то причинам это затруднительно, например, из-за большого количества ссылок в формулах на этот лист, то выделяем лишние столбцы и удаляем (последний столбец можно посмотреть в отчете совместимости или передвинув горизонтальный скрол в крайнее правое положение).
Выделение такого количества столбцов возможно только с помощью клавиши SHIFT, т.е. выделяем первый удаляемый столбец как обычно, а последний удерживая SHIFT.
Вариант — написать простой макрос для удаления столбцов. Пример:
Columns("BV:RHU").Select
Range("RHU1").Activate
Selection.Delete Shift:=xlToLeft
Перед запуском макроса перепроверьте диапазон!