Как уменьшить макросы в excel

Как уменьшить размер файла и ускорить его

Если в один прекрасный момент вы осознаете, что ваш основной рабочий файл в Excel разбух до нескольких десятков мегабайт и во время открытия файла можно смело успеть налить себе кофе, то попробуйте пробежаться по описанным ниже пунктам — возможно один или несколько из них укоротят вашего «переростка» до вменяемых размеров и разгонят его «тормоза» :)

Проблема 1. Используемый диапазон листа больше, чем нужно

Если ваша таблица занимает 5 на 5 ячеек, то это отнюдь не означает, что Excel запоминает при сохранении этого файла только 25 ячеек с данными. Если вы в прошлом использовали какие-либо ячейки на этом листе, то они автоматически включаются в используемый диапазон (так называемый Used Range), который и запоминается при сохранении книги. Проблема в том, что при очистке используемых ячеек Excel далеко не всегда автоматически исключает их из используемого диапазона, т.е. начинает запоминать в файле больше данных, чем реально имеется. 

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

Лечится это, тем не менее, достаточно легко:

  1. Выделите первую пустую строку под вашей таблицей
  2. Нажмите сочетание клавиш Ctrl+Shift+стрелка вниз – выделятся все пустые строки до конца листа.
  3. Удалите их, нажав на клавиатуре Ctrl+знак минус или выбрав на вкладке Главная – Удалить – Удалить строки с листа (Home – Delete – Delete rows).
  4. Повторите то же самое со столбцами.
  5. Повторите все вышеописанные процедуры на каждом листе, где при нажатии на Ctrl+End активная ячейка перемещается не на фактическую последнюю ячейку с данными а «в пустоту» ниже и/или правее.
  6. Сохраните файл (обязательно, иначе изменения не вступят в силу!)

Если в вашей книге очень много таких листов, то проще, наверное, использовать короткий макрос.

Проблема 2. Используется старый формат XLS вместо новых XLSX, XLSM и XLSB

Много лет и версий подряд еще с начала девяностых в Excel был один формат файлов — XLS. Это, конечно, убирало проблемы совместимости, но, сам по себе, этот формат давно устарел и имел много неприятных недостатков (большой размер, непрозрачность внутренней структуры данных, легкую повреждаемость и т.д.)

Начиная с верии Excel 2007 Microsoft ввела новые форматы сохранения файлов, использование которых заметно облегчает жизнь и — ваши файлы: 

  • XLSX — по сути является зазипованным XML. Размер файлов в таком формате по сравнению с Excel 2003 меньше, в среднем, в 5-7 раз.
  • XLSM — то же самое, но с поддержкой макросов.
  • XLSB — двоичный формат, т.е. по сути — что-то вроде скомпилированного XML. Обычно в 1.5-2 раза меньше, чем XLSX. Единственный минус: нет совместимости с другими приложениями кроме Excel, но зато  размер — минимален.

Вывод: всегда и везде, где можно, переходите от старого формата XLS (возможно, доставшегося вам «по наследству» от предыдущих сотрудников) к новым форматам.

Проблема 3. Избыточное форматирование

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

Оставьте только самое необходимое, не изощряйтесь. Особенно в тех таблицах, которые кроме вас никто не видит. Для удаления только форматов (без потери содержимого!) выделите ячейки и выберите в выпадающем списке Очистить — Очистить форматы (Clear — Clear Formats) на вкладке Главная (Home):

reduce_size5.gif

Особенно «загружают» файл отформатированные целиком строки и столбцы. Т.к. размер листа в последних версиях Excel сильно увеличен (>1 млн. строк и >16 тыс. столбцов), то для запоминания и обрабоки подобного форматирования нужно много ресурсов. В Excel 2013-2016, кстати, появилась надстройка Inquire, которая содержит инструмент для быстрого избавления от подобных излишеств — кнопку Удалить избыточное форматирование (Clean Excess Cell Formatting):

reduce_size9.png

Она мгновенно удаляет все излишнее форматирование до конца листа, оставляя его только внутри ваших таблиц и никак не повреждая ваши данные. Причем может это сделать даже для всех листов книги сразу.

Если вы не видите у себя в интерфейсе вкладку Inquire, то ее необходимо подключить на вкладке Разработчик — Надстройки COM (Developer — COM Addins).

Проблема 4. Ненужные макросы и формы на VBA

Большие макросы на Visual Basic и особенно пользовательские формы с внедренной графикой могут весьма заметно утяжелять вашу книгу. Для удаления:

  1. нажмите Alt+F11, чтобы войти в редактор Visual Basic
  2. найдите окно Project Explorer’а (если его не видно, то выберите в меню View — Project Explorer)
  3. удалите все модули и все формы (правой кнопкой мыши — Remove — дальше в окне с вопросом о экспорте перед удалением — No):

reduce_size4.gif

Также код может содержаться в модулях листов — проверьте их тоже. Также можно просто сохранить файл в формате XLSX без поддержки макросов — все макросы и формы умрут автоматически. Также можно воспользоваться инструментом Очистить книгу от макросов из надстройки PLEX.

Проблема 5. Именованные диапазоны

Если в вашем файле используются именованные диапазоны (особенно с формулами, динамические или получаемые при фильтрации), то имеет смысл от них отказаться в пользу экономии размера книги. Посмотреть список имеющихся диапазонов можно нажав Ctrl+F3 или открыв окно Диспетчера имен (Name Manager) на вкладке Формулы (Formulas):

reduce_size3.gif

Также вычищайте именованные диапазоны с ошибками (их можно быстро отобрать с помощью кнопки Фильтр в правом верхнем углу этого окна) — они вам точно не пригодятся.

Проблема 6. Фотографии высокого разрешения и невидимые автофигуры

Если речь идет о фотографиях, добавленных в книгу (особенно когда их много, например в каталоге продукции), то они, само-собой, увеличивают размер файла. Советую сжимать их, уменьшая разрешение до 96-150 точек на дюйм. На экране по качеству это совершенно не чувствуется, а размер файла уменьшает в разы. Для сжатия воспользуйтесь кнопкой Сжать рисунки (Compress pictures) на вкладке Формат (Format):

reduce_size1.gif

Кроме видимых картинок на листе могут содержаться и невидимые изображения (рисунки, фотографии, автофигуры). Чтобы увидеть их, выделите любую картинку и на вкладке Формат (Format) нажмите кнопку Область выделения (Selection Pane).

Для удаления вообще всех графических объектов на текущем листе можно использовать простой макрос:

Sub Delete_All_Pictures()
'макрос для удаления всех картинок на текущем листе

    Dim objPic As Shape

    For Each objPic In ActiveSheet.Shapes
        objPic.Delete
    Next objPic

End Sub

Проблема 7. Исходные данные сводных таблиц

По-умолчанию Excel сохраняет данные для расчета сводной таблицы (pivot cache) внутри файла. Можно отказаться от этой возможности, заметно сократив размер файла, но увеличив время на обновление сводной при следующем открытии книги. Щелкните правой кнопкой мыши по сводной таблице и выберите команду Свойства таблицы (Pivot Table Properties) — вкладка Данные (Data) — снять флажок Сохранять исходные данные вместе с файлом (Save source data with file):

reduce_size2.gif

Если у вас несколько сводных таблиц на основе одного диапазона данных, то сократить размер файла здорово помогает метод, когда все сводные таблицы после первой строятся на основе уже созданного для первой таблицы кэша. В Excel 2000-2003 это делается выбором переключателя на первом шаге Мастера сводных таблиц при построении:

reduce_size6.gif

В Excel 2007-2016 кнопку Мастера сводных таблиц нужно добавлять на панель вручную — на ленте такой команды нет. Для этого щелкните по панели быстрого доступа правой кнопкой мыши и выберите Настройка панели быстрого доступа (Customize Quick Access Toolbar) и затем найдите в полном списке команд кнопку Мастер сводных таблиц (PivotTable and PivotChart Wizard):

reduce_size7.gif

Проблема 8. Журнал изменений (логи) в файле с общим доступом

Если в вашем файле включен общий доступ на вкладке Рецензирование — Доступ к книге (Review — Share Workbook), то внутри вашего файла Excel на специальном скрытом листе начинает сохраняться вся история изменений документа: кто, когда и как менял ячейки всех листов. По умолчанию, такой журнал сохраняет данные изменений за последние 30 дней, т.е. при активной работе с файлом, может запросто занимать несколько мегабайт.

Мораль: не используйте общий доступ без необходимости или сократите количество дней хранения данных журнала, используя вторую вкладку Подробнее (Advanced) в окне Доступ к книге. Там можно найти параметр Хранить журнал изменений в течение N дней (Keep change history for N days) или совсем отключить его:

reduce_size8.png

Проблема 9. Много мусорных стилей

Про эту пакость я уже подробно писал ранее в статье о том, как победить ошибку «Слишком много форматов ячеек». Суть, если кратко, в том, что если вы разворачиваете на вкладке Главная список Стили ячеек (Home — Cell Styles) и видите там очень много непонятных и ненужных стилей, то это плохо — и для размера вашего файла Excel и для его быстродействия.

too-many-formats2.png

Удалить ненужные стили можно с помощью макроса или готовой команды из надстройки PLEX.

Проблема 10. Много примечаний

Примечания к ячейкам, конечно, не самый вредный момент из всех перечисленных. Но некоторые файлы могут содержать большое количество текста или даже картинок в примечаниях к ячейкам. Если  примечания не содержат полезной для вас информации, то их можно легко удалить с помощью команды на вкладке Главная Очистить — Очистить примечания (Home — Clear — Clear Comments).

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Чтобы изменить макрос, прикрепленный к книге Microsoft Excel, используйте редактор Visual Basic.

Важно: Для работы с макросами необходимо включить вкладку Разработчик. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».

Изменение параметров безопасности макросов

Чтобы редактировать и запускать макрос, необходимо установить уровень безопасности, чтобы временно включить все макрос.

  1. На вкладке Разработчик в группе Код выберите элемент Безопасность макросов.

    Группа "Код" на вкладке "Разработчик"

  2. В группе Параметры макросов выберите переключатель Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем дважды нажмите кнопку ОК.

    Предупреждение: Чтобы предотвратить запуск потенциально опасного кода, мы рекомендуем вернуться к любому параметру, который отключает все макросы после завершения работы с макросами.

Редактирование макроса

  1. На вкладке Разработчик в группе Код нажмите кнопку Макросы.

  2. В поле Имя макроса выберите макрос, который вы хотите изменить.

  3. и нажмите кнопку Изменить. Откроется редактор Visual Basic.

Совет: Чтобы получить справку во время работы в редакторе Visual Basic, в меню Справка выберите Microsoft Visual Basic Справкаили нажмите F1.

Нужна дополнительная помощь?

How to make a macro stop or pause for a specified amount of time.

This allows you to slow down the execution of a macro.

Method 1 — Simple but Not Versatile

Add this line of code anywhere in your macro where you want it to pause.

Application.Wait(Now + TimeValue("00:00:01"))

This will pause the macro for 1 second.

The first set of zeros is hours; the second set is minutes; the third set is seconds.

Method 2 — More Work but Better — Fractions of Seconds

Sometimes you need to pause a macro for a fraction of a second and, for this, we need to do something else.

Put this piece of code at the top of your module:

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

It would look like this:

Notice that it was put above the first Sub in the module.

Then, make the macro stop or pause using this method:

This is in milliseconds, so 1000 equals 1 second, 2000 equals 2 seconds and anything less than a thousand is a fraction of a second.

Both Methods in the VBA Editor

Notes

Both methods have their place; use whichever one works best for you.

Download the sample file attached to this tutorial to see these macros in Excel.


Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

Similar Content on TeachExcel

Minimize or Maximize the Ribbon Menu in Excel

Tutorial:
This is a simple way to get more space in Excel, reduce clutter, and streamline the inte…

Make Users Enable Macros in Order to View a Workbook in Excel

Tutorial: Tutorial showing you how to make a user enable macros in a workbook in order to view the w…

Round Numbers Up or Down in Excel

Tutorial: How to round a number up or down and also to a specified number of decimal places in Excel…

Increment a Value Every X Number of Rows in Excel

Tutorial: (New Easier Version for Excel 2010 and Later)
How to increment a value, number, percent, e…

Delete Blank Rows in Excel

Macro: This is a macro which will delete blank rows in excel. This version will delete an entire …

Generate a Non-Repeating List of Random Numbers in Excel — UDF

Macro: Generate a series of non-repeating random numbers in Excel with this UDF (user defined fun…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons

50+ Hours of Video

200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

При работе с файлами Excel, может сложиться ситуация, когда файл неожиданно стал весить непростительно много мегабайт, в этой статье мы рассмотрим основные методы, как возможно уменьшить размер файла Excel.

 Как уменьшить размер файла Excel

Способ 1. Удаление лишних строк в Excel

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

Нажмите комбинацию клавиш Ctrl+End, что бы переместиться в конец области с данными. Если вы переместились на строку, в которой нет нужной вам информации, то их можно удалить.

Для этого выделите строку, кликнув на ее номер левой клавишей мышки:

Как уменьшить размер файла Excel

Далее нажмите клавишу Shift и удерживая ее, кликните на номер строки, находящейся сразу под вашей таблицей. Таким образом вы выделите лишний диапазон строк, которые нужно удалить:

Как уменьшить размер файла Excel

Далее нажмите правой кнопкой мыши в любом месте выделенного диапазона и выберите команду «Удалить».

Как уменьшить размер файла Excel

Теперь сохраните файл, его размер должен значительно уменьшится.

Способ 2. Удаление скрытых имен в Excel

Еще одной причиной излишнего размера файла, является наличие скрытых имен. Обычно это происходит, когда вы копируете лист из другого файла, где они уже есть, таким образом они копируются в ваш файл.

Что бы удалить скрытые имена, вам понадобится следующий макрос:

Sub DeleteHiddenNames()
Dim n As Name
Dim Count As Integer
On Error Resume Next
For Each n In ActiveWorkbook.Names
    If Not n.Visible Then
    n.Delete
    Count = Count + 1
    End If
Next n
MsgBox «Скрытые имена в количестве » & Count & » удалены»
End Sub

Запустите его и подождите выполнения. После этого сохраните файл и оцените результат.

Как уменьшить размер файла Excel

Если вы не умеете работать с макросами, то прочитайте нашу статью
«Как удалить скрытые имена в Excel», в ней все подробно описано.

Способ 3. Удаление лишних стилей в Excel

Как и в случае со скрытыми именами, при копировании листов из других файлов, в ваш файл могут попасть стили, которые вы не используете, но они увеличивают размер файла.

Для того, чтобы их удалить воспользуйтесь следующим макросом:

Sub StyleKiller()
Dim N As Long, i As Long
With ActiveWorkbook
    N = .Styles.Count
    For i = N To 1 Step -1
        If Not .Styles(i).BuiltIn Then .Styles(i).Delete
    Next i
End With
MsgBox («Лишние стили удалены»)
End Sub

Запустите его, дождитесь окончания выполнения, сохраните файл.

Как уменьшить размер файла Excel

Если вы не знакомы с макросами, то прочитайте нашу статью «Как удалить лишние стили в Excel», в ней мы подробно описали, что надо делать.

Способ 4. Уменьшение размера рисунка в Excel

Вы вставили рисунок в Excel и файл неожиданно стал весить слишком много. Это можно исправить изменением этого рисунка.

Для этого нажмите на рисунок, далее на вкладке «Формат» выберите команду «Сжать рисунки»:

Как уменьшить размер файла Excel

В открывшемся диалоговом окне выберите то качество рисунка, которое подходит для вашей задачи. Чем ниже качество, тем меньше будет весить рисунок:

Как уменьшить размер файла Excel

Это были основные способы, при помощи которых можно уменьшить размер файла Excel.

Хитрости »

1 Май 2011              260073 просмотров


Как уменьшить размер файла

Данный вопрос возникает периодически на различных форумах. Решил написать некоторые рекомендации по уменьшению веса файла. Применив их Вы сможете понять — действительно ли Ваши данные настолько раздувают файл или же в файле имеется много лишнего.
Почему я это пишу. Бывают ситуации, когда в файле всего один лист, данных на нем на 1000 строк и 20 столбцов. Никаких формул, только значения. Но размер файла непомерно велик — скажем 10 Мб. Этого недопустимо. Или есть различные формулы, но Вы все равно считаете, что размер файла не соответствует тому, что должно бы быть.

Автоматически убрать все лишнее из файла так же поможет команда надстройки MulTEx Оптимизировать книгу

При этом описанные ниже причины, которые влияют на размер файла, так же могут влиять и на его «быстродействие».


Следующие действия необходимо проделать на каждом листе книги:

  • Первое, что необходимо вспомнить — а не в общем ли доступе файл? Если в Общем, то есть вероятность, что размер файла растет именно из-за этого. Дело в том, что при установке общего доступа к файлу, по умолчанию ведется журнал изменений, в который записываются все действия, произведенные в книге каждым пользователем за период, указанный в параметрах. Чем больше пользователей — тем сильнее раздувается файл. Как избавиться или изменить период:
    Excel 2007 и выше: вкладка Рецензирование(Review)Доступ к книге(Shared workbook);
    Excel 2003: СервисДоступ к книге.
    Переходим на вкладку Подробнее(Advanced) и выбираем Не хранить журнал изменений(don’t keep change history).
    Еще лучше — снять общий доступ с книги, сохранить. Если общий доступ все еще нужен, то открываем книгу и опять даем общий доступ, но теперь устанавливаем кол-во дней, в течении которых надо хранить журнал. По умолчанию — 30, но можно сделать меньше, если файл сильно разбухает за озвученный период. Далее неплохо бы отключить оба пункта в разделе Включить в личное представление(Include in personal view): параметры печати(Print settings) и фильтры(Filter settings). Личные представления позволяют сохранять для каждого пользователя файла свои параметры печати и настройки фильтров. Чем больше разных пользователей – тем больше настроек сохраняется и тем выше вероятность замедления работы файла и увеличения его размеров. А практическая ценность этих пунктов в ущерб удобству и быстроте работы с файлом сомнительная.
    После этого сохранить файл.
    Подробнее про общий доступ можно прочитать в статье: Ведение журнала сделанных в книге изменений
  • Убедитесь, что лист не содержит ячеек без данных, но занимающих пространство. Перейдя на лист, нажмите Ctrl+End. Активируется последняя ячейка листа. Если она расположена ниже или правее последних нужных рабочих данных — то удалите все строки и столбцы после последних данных таблицы. Удалите полностью строки. Сделать это быстро можно так. Нажимаем Ctrl+End и попадаем на последнюю ячейку. Выделяем эту строку и нажимаем Ctrl+Shift+стрелка Вверх. Выделились все строки вместе с последней строкой данных. Удерживая Shift жмем на клавиатуре стрелку Вниз. Тоже самое и со столбцами.
  • Посмотрите лист на предмет форматирования. Необходимо избегать форматирования ЦЕЛИКОМ столбцов либо строк. Это приводит к раздуванию файла. Все форматирование, выходящее за границы таблицы необходимо убрать. А еще лучше — вообще избегать излишнего форматирования, особенно если книгой никто, кроме Вас не пользуется. Вместо Заливки ячеек — Белым цветом ставьте «Нет заливки».Чтобы убрать все форматирование из ячеек: выделяете необходимый диапазон и:
    для Excel 2003: ПравкаОчиститьФормат.
    В Excel 2007-2010: вкладка Главная(Home)Очистить(Clear)Очистить форматы(Clear formats)
    Очистка форматов
  • Проверить наличие в книге лишних объектов. Удаляем объекты:
    В Excel 2003: меню ПравкаПерейтиВыделитьОбъекты.
    в Excel 2007-2010: вкладка Главная(Home)Найти и выделить(Find & Select)Выделение группы ячеек(Go To Special…)Объекты(Objects).
    Нажмите Delete. Все объекты на листе будут удалены. Правда есть небольшой шанс, что на листе так же есть и скрытые объекты. Тогда надо идти в редактор VBA (Alt+F11) —Ctrl+R. Отображаете окно свойств (F4). Находите объект ЭтаКнига(ThisWorkbook), в окне свойств этого объекта находите свойство DisplayDrawingObjects и ставите там значение — -4104xlDisplayShapes. После этого переходите опять на лист и повторяете операции по выделению и удалению объектов, описанные выше. Зачем все так сложно? То, что мы не видим все объекты на листе не означает, что их там нет. Плюс могут быть объекты нулевых размеров. Как правило «невидимые» и «нулевые» объекты попадают на лист в результате копирования из других файлов и работы различных макросов. И в некоторых случаях объекты переносятся с нулевой длиной и шириной или вообще невидимые. Как следствие — объект не видно, но файл увеличивается в размерах. И при каждом копировании он начинает увеличиваться в размерах в геометрической прогрессии, т.к. по умолчанию объекты копируются вместе с ячейками. После нескольких таких копирований-вставок файл начинает дико тормозить даже при выделении ячеек. Выделили ячейку, хотите выделить другую — файл задумался на пару секунд.
  • Если привыкли помечать ячейки примечаниями (вкладка РецензированиеСоздать примечание), то самое время задуматься так ли это необходимо. Т.к. примечание это тоже объект, то их избыточное количество на листах так же может привести к замедлению работы файла. Удалить все примечания из выделенных ячеек очень просто: выделяем ячейки — вкладка РецензированиеУдалить. Небольшой совет: если нет прямой необходимости в хранении примечаний именно таким образом, то самый правильный способ выделить отдельный столбец в таблице, в который заносить примечания для строки данных. Данный способ оптимально подходит для таблиц в правильной структуре. Тогда можно будет осуществлять поиск, сортировку и фильтрацию по примечаниям. Если примечаний уже много и информацию из них необходимо перенести в ячейки, то можно воспользоваться этим решением: Как получить текст примечания в ячейку?
  • Еще очень хорошо помогает удаление всех формул и связей. Удаление не в прямом смысле: заменить все формулы значениями, которые они вернули. Это можно сделать без макросов: выделяем все ячейки с данными на листе-Копируем-правая кнопка мыши-Специальная вставка-Значения. Но это не очень удобно, если листов много, поэтому я заготовил для этого еще и макрос, который проделает эту операцию на всех листах активной книги:
    Sub All_Cells_In_All_Sheets_To_Value()
        Dim wsSh As Object
        For Each wsSh In Sheets
            wsSh.UsedRange.Value = wsSh.UsedRange.Value
        Next wsSh
    End Sub

    Данный макрос необходимо вставить в стандартный модуль и выполнить (нажав F5 в редакторе VBA или непосредственно с листа: нажать Alt+F8-выбрать макрос All_Cells_In_All_Sheets_To_Value-Выполнить)

  • Так же в книге могут содержаться имена, которые тоже порой довольно неплохо прибавляют вес файлу. Посмотреть их можно, нажав сочетание клавиш Ctrl+F3на листе. Но может оказаться так, что имена будут скрытыми, и тогда Вы просто так их не увидите. Отобразить их можно при помощи следующего кода:
    Sub All_Names_Visible()
        Dim objName As Object, wsSh As Object
        For Each objName In ActiveWorkbook.Names
            objName.Visible = True
        Next objName
        For Each wsSh In Sheets
            For Each objName In wsSh.Names
                objName.Visible = True
            Next objName
        Next wsSh
    End Sub

    Данный код используется как и предыдущий. Он отображает все имена на листе и в книге. После выполнения макроса необходимо повторно нажать сочетание клавиш Ctrl+F3 на листе. Теперь Вы можете удалить ненужные Вам имена. Так же все имена можно сразу удалить при помощи следующего кода:

    Sub Delete_All_Names()
        Dim objName As Object, wsSh As Object
        On Error Resume Next
        For Each objName In ActiveWorkbook.Names
            objName.Delete
        Next objName
        For Each wsSh In Sheets
            For Each objName In wsSh.Names
                objName.Delete
            Next objName
        Next wsSh
    End Sub

    Только применяя данный код Вы должны быть уверены, что Вам действительно не нужны все имена в книге. Т.к. выполнив данный макрос Вы уже не сможете вернуть удаленные имена.

  • Проверьте, нет ли в книге скрытых листов, на которых может содержаться ненужная информация и с которыми можно проделать операции, описанные выше. Как их обнаружить можно узнать, прочитав эти статьи:
    Как сделать лист скрытым?
    Как сделать лист очень скрытым

После всех этих действий необходимо сохранить файл, чтобы изменения вступили в силу. Только после этого станет видно изменился размер файла или нет. Я бы советовал сохранять файл как копию, если не уверены, что удалили действительно ненужное.

Также см.:
Оптимизировать книгу
Файл долго фильтрует строки/тормозит при фильтрации


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Содержание

  • Процедура уменьшения размера книги
    • Способ 1: уменьшение рабочего диапазона
    • Способ 2: устранение избыточного форматирования
    • Способ 3: удаление ссылок
    • Способ 4: изменения формата
  • Вопросы и ответы

Уменьшение файла Microsoft Excel

При работе в Экселе некоторые таблицы достигают довольно внушительного размера. Это приводит к тому, что размер документа увеличивается, иногда достигая даже десятка мегабайт и более. Увеличение веса книги Excel приводит не только к увеличению занимаемого им места на жестком диске, но, что ещё более важно, к замедлению скорости выполнения различных действий и процессов в ней. Попросту говоря, при работе с таким документом программа Excel начинает тормозить. Поэтому актуальным становится вопрос оптимизации и сокращения размеров подобных книг. Давайте разберемся, как можно уменьшить размер файла в Экселе.

Процедура уменьшения размера книги

Оптимизировать разросшийся файл следует сразу по нескольким направлениям. Многие пользователи не догадываются, но зачастую книга Excel содержит много ненужной информации. Когда файл небольшой на это никто особого внимания не обращает, но если документ стал громоздким, нужно оптимизировать его по всем возможным параметрам.

Способ 1: уменьшение рабочего диапазона

Рабочий диапазон – это та область, действия в которой запоминает Excel. При пересчете документа программа пересчитывает все ячейки рабочей области. Но она не всегда соответствует тому диапазону, в котором действительно работает пользователь. Например, нечаянно поставленный пробел далеко внизу от таблицы расширит размер рабочего диапазона до того элемента, где этот пробел находится. Получается, что Эксель при пересчете каждый раз будет обрабатывать кучу пустых ячеек. Посмотрим, как можно устранить данную проблему на примере конкретной таблицы.

Таблица в Microsoft Excel

  1. Вначале взглянем на её вес перед оптимизацией, чтобы сравнить каковым он будет после выполнения процедуры. Это можно сделать, переместившись во вкладку «Файл». Переходим в раздел «Сведения». В правой части открывшегося окна указаны основные свойства книги. Первым же пунктом свойств является размер документа. Как видим, в нашем случае он составляет 56,5 килобайт.
  2. Размер файла в сведениях о книге в Microsoft Excel

  3. Прежде всего, следует выяснить, насколько реальная рабочая область листа отличается от той, которая действительно нужна пользователю. Это сделать довольно просто. Становимся в любую ячейку таблицы и набираем комбинацию клавиш Ctrl+End. Excel тут же перемещается к последней ячейке, которую программа считает конечным элементом рабочей области. Как видим, в конкретно нашем случае это строка 913383. Учитывая то, что реально таблица занимает только шесть первых строк, можно констатировать факт, что 913377 строчек являются, по сути, бесполезным грузом, который не только увеличивает размер файла, но, из-за постоянного пересчета всего диапазона программой при выполнении любого действия, приводит к замедлению работы над документом.
    Конец рабочей области листа в Microsoft Excel

    Конечно, в реальности такой большой разрыв между фактическим рабочим диапазоном и тем, который за него принимает Excel, бывает довольно редко, и мы взяли такое большое количество строк для наглядности. Хотя, иногда бывают даже случаи, когда рабочей областью считается вся площадь листа.

  4. Для того, чтобы устранить эту проблему, нужно удалить все строки, начиная от первой пустой и до самого конца листа. Для этого выделяем первую ячейку, которая находится сразу же под таблицей, и набираем сочетание клавиш Ctrl+Shift+стрелка вниз.
  5. Первая ячейка под таблицей в Microsoft Excel

  6. Как видим, после этого были выделены все элементы первого столбца, начиная от указанной ячейки и до конца таблицы. Затем щелкаем по содержимому правой кнопкой мыши. В открывшемся контекстном меню выбираем пункт «Удалить».
    Переход к удалениюю строк до конца таблицы в Microsoft Excel

    Многие пользователи пытаются произвести удаление, нажав на кнопку Delete на клавиатуре, но это не правильно. Данное действие очищает содержимое ячеек, но не удаляет их сами. Поэтому в нашем случае оно не поможет.

  7. После того, как мы выбрали пункт «Удалить…» в контекстном меню, открывается небольшое окошко удаления ячеек. Выставляем в нем переключатель в позицию «Строку» и щелкаем по кнопке «OK».
  8. Окошко удаления ячеек в Microsoft Excel

  9. Все строки выделенного диапазона были удалены. Обязательно пересохраняем книгу, нажав на иконку дискеты в левом верхнем углу окна.
  10. Сохранение книги в Microsoft Excel

  11. Теперь посмотрим, как это нам помогло. Выделяем любую ячейку таблицы и набираем сочетание клавиш Ctrl+End. Как видим, Excel выделил последнюю ячейку таблицы, а это значит, что именно она теперь является последним элементом рабочей области листа.
  12. Последняя ячейка рабочей области листа в Microsoft Excel

  13. Теперь перемещаемся в раздел «Сведения» вкладки «Файл», чтобы узнать насколько сократился вес нашего документа. Как видим, он теперь составляет 32,5 Кбайт. Напомним, что до проведения процедуры оптимизации его размер составлял 56,5 Кб. Таким образом, он был уменьшен более чем в 1,7 раза. Но в данном случае главным достижением является даже не сокращение веса файла, а то, что теперь программа освобождена от пересчета фактически незадействованного диапазона, что существенно повысит скорость обработки документа.

Размер файла уменьшен в Microsoft Excel

Если в книге несколько листов, с которыми вы работаете, нужно провести подобную процедуру с каждым из них. Это позволит ещё больше уменьшить размер документа.

Способ 2: устранение избыточного форматирования

Ещё одним важным фактором, который делает документ Excel более тяжелым, является избыточное форматирование. Сюда можно отнести применение различных видов шрифтов, границ, числовых форматов, но в первую очередь это касается заливки ячеек различными цветами. Так что перед тем, как дополнительно отформатировать файл, нужно дважды подумать, а обязательно ли стоит это делать или без данной процедуры можно легко обойтись.

Lumpics.ru

Особенно это касается книг, содержащих большое количество информации, которые сами по себе уже имеют немалый размер. Добавление форматирования в книгу может увеличить её вес даже в несколько раз. Поэтому нужно выбрать «золотую» середину между наглядностью представления информации в документе и размером файла, применять форматирование только там, где оно действительно необходимо.

Файл с излишним форматирование в Microsoft Excel

Ещё одним фактором, связанным с форматированием, утяжеляющим вес, является то, что некоторые пользователи предпочитают отформатировать ячейки «с запасом». То есть, они форматируют не только саму таблицу, но и диапазон, который находится под ней, иногда даже до конца листа, с расчетом на то, что, когда в таблицу будут добавляться новые строки, не нужно будет каждый раз форматировать их снова.

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

Форматирование пустых ячеек в Microsoft Excel

  1. Прежде всего, нужно выделить все ячейки, которые расположены ниже диапазона с данными. Для этого кликаем по номеру первой пустой строки на вертикальной панели координат. Выделяется вся строчка. После этого применяем уже знакомую нам комбинацию горячих клавиш Ctrl+Shift+стрелка вниз.
  2. Выделение строки в Microsoft Excel

  3. После этого весь диапазон строк ниже части таблицы, заполненной данными, будит выделен. Находясь во вкладке «Главная» кликаем по значку «Очистить», который расположен на ленте в блоке инструментов «Редактирование». Открывается небольшое меню. Выбираем в нем позицию «Очистить форматы».
  4. Очистка форматов в Microsoft Excel

  5. После этого действия во всех ячейках выделенного диапазона форматирование будет удалено.
  6. Избыточное форматирование удалено в Microsoft Excel

  7. Таким же образом можно удалить ненужное форматирование в самой таблице. Для этого выделяем отдельные ячейки или диапазон, в котором считаем форматирование минимально полезным, нажимаем на кнопку «Очистить» на ленте и из списка выбираем пункт «Очистить форматы».
  8. Удаление избыточного форматировани в таблице в Microsoft Excel

  9. Как видим, форматирование в выделенном диапазоне таблицы было полностью удалено.
  10. Излишнее форматирование в таблице удалено в Microsoft Excel

  11. После этого возвращаем данному диапазону некоторые элементы форматирования, которые считаем уместными: границы, числовые форматы и т.д.

Таблица с обновленным форматированием в Microsoft Excel

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

Урок: Форматирование таблиц в Экселе

Способ 3: удаление ссылок

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

Ссылка в Microsoft Excel

  1. Выделяем область, в которой содержатся ссылки. Находясь во вкладке «Главная», щелкаем по кнопке «Копировать» которая расположена на ленте в группе настроек «Буфер обмена».
    Копирование данных в Microsoft Excel

    В качестве альтернативы после выделения диапазона можно использовать сочетание горячих клавиш Ctrl+C.

  2. После того, как скопировали данные, не снимаем выделения с области, а кликаем по ней правой кнопкой мыши. Производится запуск контекстного меню. В нем в блоке «Параметры вставки» нужно произвести щелчок по значку «Значения». Он имеет вид пиктограммы с изображенными цифрами.
  3. Вставка значений через контекстное меню в Microsoft Excel

  4. После этого все ссылки в выделенной области будут заменены статистическими значениями.

Значения вставленыв Microsoft Excel

Но нужно помнить, что этот вариант оптимизации книги Excel не всегда приемлем. Его можно применять только тогда, когда данные из первоисточника не являются динамическими, то есть, не изменятся со временем.

Способ 4: изменения формата

Ещё одним способом существенно сократить размер файла является изменение его формата. Этот способ, наверное, больше всех остальных помогает сжать книгу, хотя и выше представленными вариантами тоже нужно пользоваться в комплексе.

В Экселе существуют несколько «родных» форматов файлов – xls, xlsx, xlsm, xlsb. Формат xls являлся базовым расширением для программы версии Excel 2003 и ранее. Он является уже устаревшим, но, тем не мене, многими пользователями продолжает до сих пор применяться. К тому же, бывают случаи, когда приходится возвращаться к работе со старыми файлами, которые были созданы много лет назад ещё во времена отсутствия современных форматов. Не говоря уже о том, что с книгами с данным расширением работают многие сторонние программы, которые не умеют обрабатывать более поздние варианты документов Excel.

Нужно отметить, что книга с расширением xls имеет гораздо больший размер, чем современный её аналог формата xlsx, который в нынешнее время Эксель использует, как главный. В первую очередь, это связано с тем, что файлы xlsx, по сути, являются сжатыми архивами. Поэтому, если вы используете расширение xls, но желаете уменьшить вес книги, то это можно сделать просто пересохранив её в формате xlsx.

  1. Для конвертирования документа из формата xls в формат xlsx переходим во вкладку «Файл».
  2. Переход во вкладку Файл в Microsoft Excel

  3. В открывшемся окне сразу обращаем внимание на раздел «Сведения», где указано, что в настоящее время вес документа составляет 40 Кбайт. Далее щелкаем по наименованию «Сохранить как…».
  4. Переход к сохранению файла в Microsoft Excel

  5. Открывается окно сохранения. При желании можно перейти в нем в новую директорию, но большинству пользователей удобнее хранить новый документ там же, где и исходник. Наименование книги при желании можно сменить в поле «Имя файла», хотя и не обязательно. Самым важным в данной процедуре является выставить в поле «Тип файла» значение «Книга Excel (.xlsx)». После этого можно жать на кнопку «OK» в нижней части окна.
  6. Сохранение файла в Microsoft Excel

  7. После того, как сохранение произведено, перейдем в раздел «Сведения» вкладки «Файл», чтобы посмотреть, насколько уменьшился вес. Как видим, он теперь составляет 13,5 Кбайт против 40 Кбайт до проведения процедуры конвертирования. То есть, одно только сохранение в современном формате позволило сжать книгу почти в три раза.

Размер файла в формате xlsx в Microsoft Excel

Кроме того, в Экселе существует ещё один современный формат xlsb или двоичная книга. В нем документ сохраняется в бинарной кодировке. Эти файлы весят ещё меньше, чем книги в формате xlsx. К тому же, язык, на котором они записаны, ближе всего для программы Excel. Поэтому она работает с такими книгами быстрее, чем с любым другим расширением. При этом книга указанного формата по функциональности и возможностям применения различных инструментов (форматирование, функции, графики и т.д.) ни в чем не уступает формату xlsx и превосходит формат xls.

Основная причина, почему xlsb не стал форматом по умолчанию в Excel, заключается в том, что с ним практически не умеют работать сторонние программы. Например, если вам нужно будет экспортировать информацию из Excel в программу 1C, то это можно будет сделать с документами xlsx или xls, но не с xlsb. Но, если вы не планируете перенос данных ни в какую-то стороннюю программу, то смело можете сохранять документ в формате xlsb. Это позволит вам уменьшить размер документа и увеличит скорость работы в нем.

Процедура сохранения файла в расширении xlsb аналогична той, какую мы проделывали для расширения xlsx. Во вкладке «Файл» кликаем по пункту «Сохранить как…». В открывшемся окне сохранения в поле «Тип файла» нужно выбрать вариант «Двоичная книга Excel (*.xlsb)». Затем щелкаем по кнопке «Сохранить».

Сохранение файла в Microsoft Excel в формате xlsb

Смотрим на вес документа в разделе «Сведения». Как видим, он уменьшился ещё больше и теперь составляет всего 11,6 Кбайт.

Размер файла в формате xlsb в Microsoft Excel

Подводя общие итоги, можно сказать, что если вы работает с файлом в формате xls, то наиболее эффективным способом уменьшить его размер является пересохранение в современных форматах xlsx или xlsb. Если же вы уже используете данные расширения файлов, то для уменьшения их веса следует правильно настроить рабочую область, убрать избыточное форматирование и ненужные ссылки. Наибольшую отдачу вы получите, если произведете все эти действия в комплексе, а не ограничитесь только одним вариантом.

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

Иногда легко избавиться от лишних хлопот и контролировать размер файла Excel, а иногда это не так.

А поскольку Excel не является веб-инструментом, большинство из нас работает и сотрудничает, отправляя файлы Excel по электронной почте. А большим файлом Excel, который весит 50 МБ, может быть сложно поделиться с коллегами / клиентами.

В моей последней работе мы использовали почтовый клиент Lotus Notes, который работает очень медленно, и отправка тяжелых файлов Excel через это была пыткой.

Хотя волшебного способа уменьшить размер книги Excel не существует, есть несколько приемов, которые можно использовать, чтобы немного сократить размер книги.

Примечание: влияние этих методов на уменьшение размера файла Excel будет зависеть от ваших данных. Для некоторых это может помочь уменьшить размер на 50%, а для некоторых это может привести к уменьшению размера только на 5%.

Ниже приведены методы, которые можно использовать для уменьшения размера файла книги Excel.

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

В зависимости от вашей рабочей тетради вы можете использовать один или несколько из этих советов.

Удалите ненужные рабочие листы / данные

Лучшие решения часто самые простые.

И эта техника больше соответствует здравому смыслу, а не волшебству Excel.

Если у вас есть книга Excel, в которой есть листы, которые не нужны (и не используются ни в каких формулах), попробуйте избавиться от них.

Это напрямую связано с размером файла Excel. Поэтому, как только вы удалите некоторые листы и сохраните книгу, вы сразу увидите уменьшенный размер файла.

Результаты теста:

Я создал файл Excel с 10 листами, каждый из которых содержит 2,6 миллиона точек данных (26 столбцов по 100 000 точек данных в каждом столбце).

В результате размер этой книги составляет 143 МБ (и требуется некоторое время, чтобы сохранить и открыть).

Теперь, когда я удалил пять листов, размер уменьшился вдвое (да).

Как видите, данные на вашем листе напрямую зависят от размера файла.

Преобразовать в двоичный формат (XLSB)

Знаете ли вы, что просто сохранив файл Excel в формате XLSB, можно уменьшить размер файла?

Да, это правда.

Все, что вам нужно сделать, это при сохранении книги использовать формат .xlsb.

Вот как это сделать:

  1. Щелкните вкладку Файл.
  2. Щелкните Сохранить как.
  3. Щелкните Обзор.
  4. В диалоговом окне «Сохранить как» измените тип файла на двоичная книга Excel (.xlsb).

Результаты теста

У меня была книга Excel, которая занимала 14,6 МБ места.

После преобразования того же файла в формат XLSB я смог уменьшить его размер до 10,4 МБ (уменьшение размера на ~ 28%).

Что такое XLSB?

Когда вы сохраняете файл Excel (.xlsx или .xlsm), он сохраняется в формате XML.

Например, если я изменю расширение файла XLSX на ZIP, а затем открою его, я получу вот что.

И если я дальше перейду в папку «xl», а затем перейду в папку рабочего листа, он покажет мне рабочие листы в этой книге (и эти рабочие листы сохранены как XML-документ).

Теперь сделаем то же самое с файлом XLSB.

Поэтому я сначала меняю расширение файла на ZIP, затем открываю его и нахожу Sheet1. Вот что вы получите:

Вы заметите, что и XLSX, и XLSB сохраняют лист в другом формате.

XLSX / XLSM сохраняет его как файл XML, а XLSB сохраняет его как двоичный (.bin) файл.

И, не вдаваясь в технические подробности, файлы XML имеют большой размер по сравнению с двоичным файлом.

Поэтому, когда вы сохраняете книгу Excel в формате XLSB, размер файла уменьшается. В приведенном выше примере уменьшение размера составило ~ 30%.

XLSB против XLSX / XLSM

Когда дело доходит до использования формата XLSB, уменьшение размера является огромным преимуществом. Но при работе с форматом XLSB нужно быть немного осторожным.

Преимущества формата XLSB:

  1. Уменьшает размер файла Excel. Это может быть полезно, если у вас есть большие файлы, и вы хотите поделиться ими по электронной почте. Вы можете быстро уменьшить размер, сохранив его в формате XLSB.
  2. Файлы XLSB открываются и сохраняются быстрее, чем файлы XML. Судя по проведенным мною ограниченным тестам, файлы XLSB открывались и сохранялись на 25-50% быстрее. Эта разница заметна только в больших файлах Excel. С файлами меньшего размера и XLSB, и XLSX работают быстро.

Хотя XLSB выглядит великолепно, есть несколько причин, по которым вам следует придерживаться файлов XLSX / XLSM:

  1. С форматом XLSB у вас нет возможности узнать, есть ли в нем макрос или нет. Это делает его более рискованным, поскольку кто-то может использовать его для выполнения вредоносного кода.
  2. Файлы XLSB кодируются в проприетарном формате файлов bin, в то время как XML — это читаемый формат файлов с открытым исходным кодом. Это означает, что если вы используете сторонние инструменты с Excel, лучше использовать формат XML.
  3. Power Query не может читать данные из файла XLSB. Поэтому, если вы используете Power Query, лучше хранить данные в форматах XLSX / XLSM.

Как правило, если размер вашего файла небольшой (менее 5 МБ), лучше придерживаться форматов XLSX / XLSM.

Основываясь на том, что я слышал от людей и читал на многих форумах, многие люди предпочитают использовать XLSB в качестве формата файла, когда дело доходит до использования Excel.

Вот хорошая статья о формате XLSB.

Удалите ненужные формулы

Слишком много формул увеличат размер файла вашей книги.

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

Вот шаги, чтобы быстро преобразовать формулы в значения в Excel:

  1. Выберите весь рабочий лист / набор данных.
  2. нажмите F5 ключ.
  3. В диалоговом окне «Перейти» нажмите «Special».
  4. В диалоговом окне «Перейти к специальному» выберите «Формулы».
  5. Щелкните ОК.

Вышеупомянутые шаги позволят выбрать все ячейки, в которых есть формула.

Теперь используйте следующие шаги, чтобы преобразовать эти формулы в значения:

  1. Скопируйте выделенные ячейки (Ctrl + C)
  2. Щелкните вкладку «Главная».
  3. В группе «Буфер обмена» нажмите «Вставить».
  4. Щелкните значок «Вставить значение».

Вышеупомянутые шаги преобразуют все ячейки с формулами в значения.

Результаты теста

Я создал файл Excel с 2,7 миллионами точек данных (1048576 * 26), а затем добавил три столбца с формулами (SUM, COUNT и AVERAGE).

Затем я преобразовал эти формулы в значения и сохранил файл под другим именем.

Вот результат:

Размер файла без формул примерно на 8% меньше (обратите внимание, что у меня было всего 3 столбца с формулами).

Если у вас много формул, можно увеличить размер.

ПРИМЕЧАНИЕ: Неустойчивые формулы могут действительно увеличить размер вашего файла. В рамках теста, когда я заменил формулу СУММ на изменчивую формулу (СМЕЩЕНИЕ), это привело к скачку размера файла (с 186 МБ до 198 МБ). Поэтому, если у вас есть изменчивые формулы, которые вы можете заменить энергонезависимыми формулами или преобразовать их в значения, это поможет вам уменьшить размер файла.

Сжать изображения (до и после загрузки)

Если вы работаете с файлами Excel, в которых есть изображения, вам необходимо оптимизировать эти изображения и убедиться, что размер меньше.

Проблема с изображениями заключается в том, что при их сжатии также происходит снижение качества, которое может вам не понадобиться.

При работе с изображениями лучший способ сохранить небольшой размер файла Excel — это сжать изображения перед их вставкой в ​​Excel.

Хороший онлайн-инструмент для этого — TinyPNG (или вы можете использовать Photoshop или любой другой аналогичный инструмент).

Это бесплатный инструмент, который может уменьшить размер изображения до 90% и при этом сохранить приличное качество изображения.

Ниже приведен снимок экрана, на котором я смог сжать изображение размером 3,9 МБ до 331 КБ с минимальной потерей качества.

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

Вот шаги для сжатия изображения в Excel:

  1. Выберите изображение, которое вы хотите сжать.
  2. Перейдите на вкладку «Формат работы с изображениями». Это контекстная вкладка, которая появляется только при нажатии на картинку.
  3. В группе «Настроить» выберите параметр «Сжать изображение».
  4. В диалоговом окне «Сжать изображения»:
    • Снимите флажок «Применить только к этому изображению», если вы хотите сжать все изображения в книге.
    • Выберите «Электронная почта» (96 пикселей на дюйм) для максимального сжатия.
  5. Щелкните ОК.
  6. Сохраните файл.

Это сжимает все изображения и помогает уменьшить размер файла книги Excel.

Результаты теста:

Я использовал опцию сжатия изображения в Excel, используя одно изображение.

Ниже приведены результаты:

При использовании параметра сжатия изображения размер файла уменьшился с 445 КБ до 43 КБ (уменьшение размера файла примерно на 90%).

Это также будет зависеть от изображения. Изображение, которое уже сжато, может не привести к значительному уменьшению размера.

Удалите сводный кеш для экономии места

Если вы работаете со сводными таблицами и боретесь с большими файлами Excel, знание о кэше сводных таблиц может быть полезно.

Когда вы создаете сводную таблицу с использованием набора данных, Excel автоматически создает сводный кэш.

Сводный кеш — это объект, содержащий реплику источника данных.

Хотя вы его не видите, он является частью книги и связан со сводной таблицей. Когда вы вносите какие-либо изменения в сводную таблицу, она не использует источник данных, а использует сводный кеш.

Хотя вы думаете, что напрямую связаны с исходными данными, на самом деле вы получаете доступ к сводному кешу (а не к исходным данным), когда вносите изменения в сводную таблицу.

Теперь, когда вы создаете реплику набора данных, это займет немного места.

Итак, как только вы создадите сводную таблицу, вы заметите, что размер файла Excel увеличивается.

В приведенном выше примере, как только я добавляю сводную таблицу, размер файла увеличивается вдвое.

Теперь есть два способа уменьшить размер файла при работе со сводными таблицами.

  1. Сохраните исходные данные и удалите Pivot Cache
  2. Сохраните Pivot Cache и удалите исходные данные

Давайте посмотрим на оба этих метода.

Сохранить исходные данные и удалить сводный кеш

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

Это сделает ваш файл Excel легче, и у вас будет возможность воссоздать кеш сводной таблицы, когда он вам понадобится в следующий раз.

Ниже указана разница в размере при сохранении файла Excel со сводным кешем и без него.

Вот шаги, чтобы НЕТ сохранить сводный кеш:

  1. Выберите любую ячейку в сводной таблице.
  2. Щелкните вкладку «Анализ».
  3. Щелкните значок «Параметры» сводной таблицы.
  4. В диалоговом окне «Параметры сводной таблицы» перейдите на вкладку «Данные».
  5. В параметрах данных сводной таблицы снимите отметку «Сохранить исходные данные в файл». Этот параметр гарантирует, что сводный кэш не сохраняется при сохранении книги (и помогает уменьшить размер файла Excel).
  6. Установите флажок «Обновлять данные при открытии файла». Этот параметр гарантирует, что сразу после открытия книги сводная таблица будет обновлена, а сводный кеш будет автоматически сгенерирован. Если вы не отметили этот параметр, вам придется обновить сводную таблицу вручную, чтобы создать сводный кеш.
  7. Щелкните ОК.

Теперь, когда вы сохраните файл со сводной таблицей, вы заметите уменьшение размера файла.

Сохраните сводный кеш и удалите исходные данные

Другой способ уменьшить размер файла Excel — удалить исходные данные сводной таблицы и оставить только сводный кеш.

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

Ниже приведены результаты, когда я сохранил файл Excel без исходных данных.

Для этого просто удалите данные (либо удалив данные, либо рабочий лист с данными).

Если вы хотите вернуть исходные данные, дважды щелкните ячейку «Общий итог» сводной таблицы, и она мгновенно сгенерирует весь набор данных на новом листе.

Сжать файл (ZIP IT)

Это то, что вы можете делать вне приложения Excel.

Когда вы заархивируете файл Excel, вы сразу увидите уменьшение его размера примерно на 10-15%.

Затем вы можете отправить этот заархивированный файл по электронной почте, и человек, получивший его, может распаковать файл и использовать книгу Excel.

Вот шаги, чтобы заархивировать файл Excel (для Windows):

  1. Щелкните правой кнопкой мыши файл Excel.
  2. Наведите курсор на опцию Отправить.
  3. Нажмите на опцию «Сжатая (заархивированная) папка».

Это создаст заархивированный файл для выбранной книги Excel.

Вы также заметите уменьшение размера файла (как показано ниже).

Результаты теста

С помощью этой техники мне удалось уменьшить размер файла книги Excel на 8%.

Этот метод лучше подходит для файлов размером 20–50 МБ. По мере увеличения размера файла процентное уменьшение не очень велико.

Удалить форматирование данных

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

Хотя, основываясь на своих тестах, я заметил, что это не оказывает большого влияния.

Ниже приведены размеры двух книг Excel, одна с 2,6 миллиона точек данных (на одном листе), а другая с теми же данными, но с примененным к ней форматированием (цвет ячейки, граница и курсив).

Результаты теста

Вы можете видеть, что разница между двумя файлами не так уж велика (хотя она оказывает влияние, когда у вас много данных).

Размер файла с данными составляет 14,6 МБ, а файла с данными и форматированием — 14,9 МБ.

Поэтому, если вы хотите уменьшить размер файла книги Excel, вы можете найти ненужное форматирование. Удаление может сэкономить место на диске.

Вот шаги, чтобы мгновенно удалить все форматирование, сохранив при этом данные:

  1. Выберите весь набор данных (из которого вы хотите удалить форматирование).
  2. Щелкните вкладку «Главная».
  3. В группе редактирования нажмите «Очистить».
  4. Нажмите «Очистить форматы».
  5. Сохраните книгу.

Удалить условное форматирование

Как и обычное форматирование данных, условное форматирование также увеличивает размер файла.

Однако, основываясь на своих тестах, я заметил, что разница меньше (если у вас нет нескольких правил, применяемых к нескольким листам с огромными наборами данных).

Тем не менее, рекомендуется удалить условное форматирование из любого набора данных, где оно вам не нужно.

Помимо размера, есть еще одна веская причина убрать условное форматирование — СКОРОСТЬ.

Условное форматирование непостоянно и при любых изменениях на листе пересчитывается. Это может привести к замедлению работы книги.

Результаты теста

Я создал файл с 27,2 миллионами точек данных и применил к нему 5 правил условного форматирования.

Разница в размере составляет всего несколько килобайт.

Читайте также: Советы по созданию медленных таблиц Excel быстрыми

Советы по повышению производительности Excel

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

  1. Избегайте использования летучих формул. Помимо увеличения размера файла, изменчивые формулы также замедляют работу ваших книг. Примеры изменчивых функций: RAND, TODAY, OFFSET, INDIRECT и т. Д.
  2. Если вам нужно создать сводку для большого набора данных, вместо использования формул, посмотрите, можете ли вы вместо этого использовать сводную таблицу. Сводная таблица работает быстро и интуитивно понятно по сравнению с формулами.
  3. Если вы извлекаете данные из нескольких источников или объединяете данные из нескольких файлов, используйте Power Query для получения и преобразования данных. Вы можете сохранить данные как соединение Power Query, а не хранить их на листе. Вы можете легко создать сводную таблицу, используя подключения, созданные с помощью Power Query.
  4. Преобразуйте табличные данные в таблицу Excel и используйте таблицу Excel в формулах. Это ускоряет работу вашей книги, а формулами, созданными с использованием структурированных ссылок Excel Table, легче управлять (поскольку они более интуитивно понятны).
  5. Избегайте ссылки на всю строку или столбец в формуле. Это повысит эффективность ваших формул.
  6. Если в вашей книге много формул, отключите автоматический расчет и переключитесь на ручной расчет. Таким образом, каждый раз при изменении рабочих листов формулы не будут пересчитываться. Вы можете внести это изменение, перейдя на вкладку «Формула» и изменив «Параметры расчета».

Надеюсь, вы найдете метод и советы из этого руководства полезными.

Что еще я мог бы добавить к этому руководству, чтобы сделать его более полезным? Пожалуйста, дайте мне знать в разделе комментариев.

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

Они значительно увеличивают эффективность работы с информацией. Дело в том, что они не только помогают реализовать некоторые функции, которые отсутствуют в стандартном комплекте, но и автоматизировать часто повторяющиеся действия. Сегодня мы более детально разберемся в том, что такое макросы, как они работают и как создавать новые и редактировать старые макросы.

Содержание

  1. Что такое макрос и для чего он применяется
  2. Как создать новый макрос в Excel
  3. Способ 1. Автоматический запуск макроса
  4. Запуск выполнения макроса
  5. Корректировка макроса
  6. Способ 2. Создание макроса в ручном режиме
  7. Как изменять существующие макросы
  8. Заключение

Что такое макрос и для чего он применяется

Итак, макрос – это набор команд, которые должен выполнить Эксель. Они дают возможность автоматизировать почти любые часто повторяющиеся задачи. Достаточно просто выбрать одну команду один раз, воспользовавшись комбинацией горячих клавиш или панелью инструментов.

Макросы пишутся с помощью языка программирования VBA, но простой макрос можно записать и без него. Технически он ничем не отличается от программы, потому что содержит набор инструкций, которые компьютеру нужно выполнить. Нередко макрос сравнивается с кулинарным рецептом, где также описывается, в какой последовательности нужно выполнить какие действия, чтобы получить желаемый результат.

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

Инструкции, которые передаются макросу, содержат макрооператоры – конкретные команды, которые офисному пакету нужно выполнить. Ряд из них являются специфическими, но большая часть соответствует командам из главного меню. Это делается для того, чтобы сделать процесс создания макросов более дружелюбным для пользователя.

Давайте приведем один пример. Любое приложение, независимо от используемой операционной системы, содержит кнопку «Закрыть». Если мы хотим сделать это через макрос, нам нужно ввести в среду разработки команду ActiveWindow.Close. Видим, что по названиям операторов можно много чего понять, поскольку все они пишутся на английском языке. Это также упрощает задачу пользователя, который знает английский язык.

Бояться макросов не нужно, поскольку VBA – очень простой язык программирования. Большую часть действий можно запрограммировать, даже не написав ни строчки кода. Достаточно просто эти действия записать один раз. При этом важно помнить, что редактор кода значительно функциональнее по сравнению с визуальными методами написания макросов.

Как создать новый макрос в Excel

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

Поэтому для профессионального овладения электронными таблицами умение программировать обязательно. Ведь нередко кроме непосредственно написания кода невозможно вообще как-либо решать поставленные задачи.

Способ 1. Автоматический запуск макроса

Перед тем, как записывать макросы, необходимо провести ряд несложных настроек, прежде всего, включить сами макросы. Правда, на данном этапе начинающего пользователя могут встретить некоторые трудности. Дело в том, что настройки макросов находятся на вкладке «Разработчик», доступ к которой изначально закрыт. Поэтому нужно сначала включить эту возможность. Последовательность действий следующая:

  1. Найти меню «Файл» и сделать по нему левый клик мышью. Как создавать, изменять и запускать макросы в Excel
  2. Далее появляется экран с набором подпунктов. Нам нужно выбрать меню «Параметры».Как создавать, изменять и запускать макросы в Excel
  3. После этого находим пункт «Настройка ленты» и ищем в нем флажок, активирующий вкладку «Разработчик».
  4. Подтверждаем свои действия путем нажатия клавиши «ОК».

После этого мы увидим вкладку «Разработчик» в нашей программе. Делаем переход по ней. Перед нами появляется большое количество инструментов разработчика. Из всего этого ассортимента нас интересует группа «Код». Там находится маленькая кнопка «Записать макрос», после клика по которой осуществляется непосредственная запись этой программы. Как создавать, изменять и запускать макросы в Excel

Далее пользователь увидит диалоговое окно. С него можно задать параметры для нашей будущей подпрограммы. Здесь доступны следующие настройки:

  1. Имя макроса. Допустимо использование какого-угодно имени за исключением того, которое начинается с числа или символа. При этом нельзя в качестве имени использовать больше одного слова.
  2. Комбинация клавиш. Это некий пусковой крючок для макроса. Он используется для того, чтобы включить макрос. Все горячие клавиши начинаются с клавиши Ctrl, а вторую можно настроить самостоятельно. Например, можно использовать горячую клавишу r. Также возможен ввод большой буквы. Для этого необходимо воспользоваться клавишей Shift, которая автоматически добавляется в комбинацию горячих клавиш.
  3. Место хранения. По умолчанию предусмотрен вариант, когда макрос применяется к текущей книге. Тем не менее, пользователь может выбрать новую или создать собственную книгу для макросов.
  4. Описание. При желании пользователь может в нескольких предложениях описать, что будет делать макрос. Это будет особенно полезно, если одной и той же книгой пользуются несколько человек.

После выполнения всех действий нужно нажать клавишу ОК, тем самым подтвердив изменения. Теперь все действия, совершаемые пользователем, будут автоматически записываться в макрос. Это будет продолжаться ровно до тех пор, пока запись программы не будет остановлена. Значительно проще разобрать это на реальном примере. Давайте сделаем программку, которая будет умножать содержимое двух ячеек. Для этого нужно запустить запись макроса, ввести в ячейку формулу (в нашем случае это =B2*B3), нажать клавишу Enter, после чего остановить запись. Кнопка остановки записи макроса находится на вкладке «Разработчик» в группе «Код».

Запуск выполнения макроса

Как же проверить, работает ли наш макрос? Для этого нужно выполнить следующие действия:

  1. Открыть вкладку «Разработчик». Там в самой левой части есть кнопка «Макросы», по которой нужно сделать левый клик мышью один раз. Кроме этого, пользователь может открыть аналогичную опцию путем нажатия горячих клавиш Alt + F8. Как создавать, изменять и запускать макросы в Excel
  2. После этого у нас откроется окно настройки макросов. Нужно выбрать тот, который мы только что создали, и нажать на кнопку «Выполнить». Этот же результат можно получить, если нажать сочетание клавиш, которое мы назначили для макроса раньше.Как создавать, изменять и запускать макросы в Excel
  3. О том, что макрос работает, мы можем судить по действиям программы. Если они повторяют те, которые были сделаны раньше, значит все ОК. Как создавать, изменять и запускать макросы в Excel

Таким способом можно проверить любой макрос. Но что делать, если оказывается, что он работает не совсем так, как нам нужно было?

Корректировка макроса

Если в ходе исполнения макроса появляются какие-то проблемы, их можно исправить. Самая распространенная проблема, по которой команды не выполняются, как надо – ошибки пользователя на этапе первичной записи команд. Чтобы отредактировать созданный макрос, нужно выполнить следующие действия.

  1. Открыть окошко макросов путем нажатия на ту же кнопку, что была описана выше или же воспользоваться комбинацией клавиш.
  2. Выбираем наш макрос. Находим кнопку «Изменить», которая находится справа от него. Делаем единичный левый клик мышью по ней.Как создавать, изменять и запускать макросы в Excel
  3. После этого откроется редактор Visual Basic. Правки придется вносить в код, поэтому если навыков программирования нет, нужно быть очень внимательным при записи макроса.

На данном этапе нужно уже немного переходить к следующей теме: ручное редактирование макроса. Любой макрос начинается командой Sub. О том, что макрос заканчивается, компьютер понимает по команде End Sub. После слова Sub показывается название макроса. После этого в структуре записывается описание макроса и та комбинация клавиш, которая необходима для его запуска.

Далее следуют команды, которые выполняют конкретные действия. Например, номер ячейки мы получаем с помощью оператора Range. В нашем примере, мы получаем ячейку B2 с помощью команды Range(“B2″).Select. Это действие аналогично выбору ячейки левой кнопкой мышки. Значение ячейки, которая выбрана на данный момент указывается с помощью оператора ActiveCell.FormulaR1C1. Как создавать, изменять и запускать макросы в Excel

Давайте попробуем наш макрос немного отредактировать. Допустим, нам нужно выполнить такую задачу: добавить дополнительную ячейку  с адресом B4 и значением 3. В таком случае в код необходимо добавить такие строки:

Range(«B4»).Select

ActiveCell.FormulaR1C1 = «3»

Как создавать, изменять и запускать макросы в Excel

На первый взгляд это может показаться довольно сложной задачей, но на самом деле, команды – это полноценный язык, который нужно просто изучить. Представьте, что вы пишете сообщение, только не человеку, а компьютеру с просьбой сделать то-то и то-то. Да, программирование именно так и устроено по факту. Все намного проще, чем кажется.

Но это уже лирическое отступление. Нам еще осталось совершить одно действие – изменить первоначальное выражение, которое касалось ячейки D2, на это: ActiveCell.FormulaR1C1 = «=RC[-2]*R[1]C[-2]*R[2]C[-2]»

Как создавать, изменять и запускать макросы в Excel

Внимание! Видим, что адреса в ячейках в данном примере записываются, как R1C1.

После того, как мы выполним все описанные выше действия, можно закрыть редактор макросов. Для этого достаточно просто кликнуть по крестику. То есть, выполнить действия, аналогичные закрытию любого окна в операционной системе.

Далее нужно перепроверить макрос еще раз. Видим, что после его исполнения в таблице появилась еще одна ячейка. Если макрос очень большой, то ручное редактирование имеет множество преимуществ перед повторной его записью. Также оно позволяет избежать повторных ошибок.

Также можно ускорить работу макроса путем добавления команды Application.ScreenUpdating = False. После этого на экране не будут показываться те промежуточные шаги, которые выполняет макрос, лишь конечный результат. Если же нужно, чтобы отображение на экране было вновь включено, тогда нужно заменить False на True.

Способ 2. Создание макроса в ручном режиме

Автоматическая запись макроса – это хорошо, но данный метод имеет множество недостатков. Профессионалы создают макросы вручную. Для этого нужно выучить язык VBA и выполнять следующие действия:

  1. Перейти во вкладку «Разработчик» и нажать на кнопку «Visual Basic». Она находится в самой левой части панели инструментов в этой вкладке. Как создавать, изменять и запускать макросы в Excel
  2. Далее появится окно, которое мы уже знаем по предыдущему разделу. Как создавать, изменять и запускать макросы в Excel
  3. Весь код пишется здесь.

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

Как изменять существующие макросы

Детали о том, как изменять существующие макросы, описывались выше. В целом логика остается той же самой, за тем лишь исключением, что коррекция макросов –  это точечные изменения (например, отредактировать ячейку, если случайно была выбрана неправильно). В то время как изменение –  более фундаментальное редактирование, включая добавление новых строк кода и так далее.

Заключение

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

Оцените качество статьи. Нам важно ваше мнение:

Понравилась статья? Поделить с друзьями:
  • Как уменьшить размер excel файла с картинками
  • Как уменьшить ленту в word
  • Как уменьшить размер excel файла онлайн
  • Как уменьшить размер excel документа
  • Как уменьшить рабочую область excel