Привет, друзья! Часто в Microsoft Excel одной из важных задач является форматирование таблиц для удобного и понятного представления данных. Однако при работе с большими объемами данных, процесс форматирования может занять много времени. В данной статье мы рассмотрим пример VBA кода, который позволяет оптимизировать форматирование таблиц в Excel и значительно ускорить этот процесс.
У меня есть экспортированный очень длинный документ который выглядит вот так:
И Вот задача этому документу нужно сбросить полностью форматирование текста. Это можно сделать разными способами:
1. Способ сбросить форматирование в документе Excel
Нужно на открытом листе, в левом углу есть маленький треугольник, нажать на него тем самым мы выделим весь диапазон ячеек!
Далее на той же вкладке главная, нужно найти кнопку очистить >> очистить форматы.
2. Способ сбросить форматирование в документе Excel с помощью кода VBA
Сам пример кода:
Sub Formatowanie_Tabeli()
Dim ws As Worksheet
' Устанавливаем активный лист в переменную ws
Set ws = ActiveSheet
' Отключаем обновление экрана, чтобы ускорить выполнение кода
Application.ScreenUpdating = False
' Очищаем все форматирование в использованном диапазоне ячеек
ws.UsedRange.ClearFormats
' Включаем обновление экрана
Application.ScreenUpdating = True
End Sub
Код полностью еще можно скопировать с GitHub по ссылке:
Для того чтобы воспользоваться я кодом, нужно перейти на вкладку разработчик
далее перейти
Откроется среда разработки VBA выбираем эта книга и вставляем наш скопированный код:
Должно получится так.
Далее нам нужно запустить наш код, зеленой кнопкой по типу воспроизвести как в любом плеере.
Давайте теперь посмотрим подробно что делает данный код:
Пояснения кода VBA сброса форматирования в документе:
- В начале кода объявляется переменная ws типа Worksheet, которая будет использоваться для хранения активного листа.
- С помощью комментариев указывается назначение каждого блока кода для более понятного его восприятия.
- Строка "Application.ScreenUpdating = False" отключает обновление экрана Excel, что позволяет ускорить выполнение программы за счет устранения лишних операций отрисовки.
- После отключения обновления экрана происходит очистка форматирования используемого диапазона ячеек на активном листе с помощью метода ClearFormats.
- Затем строкой "Application.ScreenUpdating = True" включается обновление экрана Excel, чтобы пользователь мог видеть изменения.
Заключение: Приведенный пример кода демонстрирует оптимизацию процесса форматирования таблиц в Excel с помощью использования VBA. Благодаря отключению обновления экрана во время выполнения кода, удается существенно ускорить работу с большими объемами данных. Применение подобных техник может быть полезно при автоматизации форматирования таблиц и повышает эффективность работы с данными в Excel.