Подборка полезных макросов VBA для Excel

Подборка полезных макросов VBA для Excel, которые решают частые задачи и экономят время. Все примеры готовы к использованию — просто скопируйте код в модуль (Alt + F11 → Insert → Module).

1. Автоматическое форматирование ячеек

Задача: Подсветить строку при выборе ячейки (удобно для больших таблиц).

Как добавить:
Кликните правой кнопкой на ярлыке листа → View Code → вставьте код.


2. Объединение данных из нескольких листов

Задача: Собрать данные с одинаковых таблиц на разных листах в один.

Условие: Таблицы на всех листах имеют одинаковые колонки (A:D).


3. Удаление дубликатов по столбцу

Задача: Оставить только уникальные значения в выбранном диапазоне.

4. Экспорт данных в CSV

Задача: Сохранить текущий лист в файл CSV (например, для передачи в другую систему).

5. Автоматическая отправка письма с вложением

Задача: Отправить текущую книгу по почте через Outlook.

Требования: Установлен Outlook.

6. Разделение текста по столбцам (аналог “Текст по столбцам”)

Задача: Разделить текст в ячейках по разделителю (например, ФИО на фамилию, имя, отчество).

7. Создание оглавления для книги

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

8. Защита/снятие защиты всех листов

Задача: Быстро запаролить или разблокировать все листы.

Как запускать макросы?

  1. Вручную: Alt + F8 → выбор макроса → Run.
  2. Кнопкой: Назначьте макрос на кнопку или графический объект (через ПКМ → Назначить макрос).
  3. По событию: Например, при открытии файла (код в ThisWorkbook → Workbook_Open).

Важно!

  • Для макросов с Selection предварительно выделите нужный диапазон.
  • Избегайте ActiveCell и ActiveSheet в сложных макросах — явно указывайте листы и диапазоны.
  • Сохраняйте файлы с макросами как .xlsm.

Эти примеры покрывают 90% рутинных задач. Для более сложных сценариев (работа с API, парсинг веб-страниц) используйте Power Query или Python + xlwings.