Найти тему
Я it-шник

VBA Excel полный сброс форматирования

Оглавление
VBA Excel полный сброс форматирования
VBA Excel полный сброс форматирования

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

У меня есть экспортированный очень длинный документ который выглядит вот так:

-2

И Вот задача этому документу нужно сбросить полностью форматирование текста. Это можно сделать разными способами:

1. Способ сбросить форматирование в документе Excel

-3

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

-4

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

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_сброс_форматировани.bas

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

-5

далее перейти

-6

Откроется среда разработки VBA выбираем эта книга и вставляем наш скопированный код:

Должно получится так.

-7

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

Давайте теперь посмотрим подробно что делает данный код:

Пояснения кода VBA сброса форматирования в документе:

  1. В начале кода объявляется переменная ws типа Worksheet, которая будет использоваться для хранения активного листа.
  2. С помощью комментариев указывается назначение каждого блока кода для более понятного его восприятия.
  3. Строка "Application.ScreenUpdating = False" отключает обновление экрана Excel, что позволяет ускорить выполнение программы за счет устранения лишних операций отрисовки.
  4. После отключения обновления экрана происходит очистка форматирования используемого диапазона ячеек на активном листе с помощью метода ClearFormats.
  5. Затем строкой "Application.ScreenUpdating = True" включается обновление экрана Excel, чтобы пользователь мог видеть изменения.

Заключение: Приведенный пример кода демонстрирует оптимизацию процесса форматирования таблиц в Excel с помощью использования VBA. Благодаря отключению обновления экрана во время выполнения кода, удается существенно ускорить работу с большими объемами данных. Применение подобных техник может быть полезно при автоматизации форматирования таблиц и повышает эффективность работы с данными в Excel.

Я it-шник