Курсы › Microsoft › Excel › VBA
Microsoft Excel · VBA

Excel VBA

Автоматизация Excel с помощью макросов и Visual Basic for Applications. Записывать и редактировать макросы, создавать процедуры и функции, программировать циклы, обрабатывать ошибки — и превратить рутину в кнопку.

16
ак. часов
7
модулей
80%
практика
на реальных задачах
Преподаватель · 5 110 часов
Алексей Борисов
Алексей Борисов · Excel-тренер
5 110часов преподавания
24курсов Excel
50+корпоративных клиентов
15 летпреподавания
Для кого

Кому подойдёт этот курс

⚙️
Аналитики и специалисты по данным
Умеют в Excel, но тратят часы на повторяющиеся операции. VBA — чтобы это делала программа.
📊
Финансисты и бухгалтеры
Формируют ежемесячные отчёты вручную. После курса — кнопка запуска и 5 минут вместо 3 часов.
🏢
Администраторы и руководители
Хотят автоматизировать сбор данных из разных файлов, рассылки, сводки по отделам.
Программа

7 модулей · 16 ак. часов

01
Автоматическая запись макроса
2 ч
Использование макрорекордераАбсолютные и относительные ссылки при записиИсправление недостатков сгенерированного кода
02
Работа в редакторе Visual Basic. Основы VBA
3 ч
Создание проекта VBA, работа с модулямиСоздание, сохранение и запуск процедурыТипы данных, переменные, константыИнструкции If…Then…Else и Select Case
03
Программирование объектов Excel
3 ч
Объектно-ориентированное программированиеСвойства и методы WorkbookКоллекция Worksheets и объект WorksheetОбъект Range — свойства и методыКонструкция With…End With
04
Циклы — программирование многократных действий
3 ч
Цикл со счётчиком For…NextЦиклы с условием Do…LoopЦикл по объектам For Each…NextЦиклические операции с ячейками и листами
05
Пользовательские функции
2 ч
Создание процедуры FunctionИспользование функции в VBA и на рабочем листеРешение типичных задач автоматизации
06
Обработка ошибок. Отладка и тестирование
1,5 ч
Типы ошибокПроцедура обработки ошибок Run-timeОтладка и пошаговое тестирование
07
Защита проекта VBA. Автоматизация запуска
1,5 ч
Настройка уровней безопасностиЗащита проекта VBAПользовательские кнопки для запуска макросовИспользование событий рабочих книг и листов
Что внутри

Конструкции VBA, которые изучаете

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

Цикл по коллекции объектов (For Each…Next)
Редактор Visual Basic (Alt+F11) → модуль → процедура Sub
For Each ws In ThisWorkbook.Worksheets: ws.Range(«A1») = «Готово»: Next ws ← проходит по каждому листу книги, сколько бы их ни было
● Перебирает объекты коллекции по одному — не нужно знать их количество заранее
⚠ Удаление листа внутри цикла может сбить перебор — надёжнее собрать список заранее
✓ Стандартный способ обработать «все листы», «все ячейки диапазона», «все открытые книги»
Сокращённая запись обращений к объекту (With…End With)
Внутри процедуры Sub или Function
With Range(«A1»): .Value = 100: .Font.Bold = True: End With ← пять обращений к Range(«A1») сжаты в одно
● Excel один раз находит объект и дальше работает с ним напрямую — код короче и выполняется быстрее
⚠ Точка без объекта внутри блока всегда означает «объект из With» — легко перепутать при вложенных блоках
✓ Использую везде, где к одному объекту идёт больше двух обращений подряд
Обработка ошибок (On Error)
Начало и конец блока кода внутри процедуры
On Error Resume Next: Kill «старый_отчёт.xlsx»: On Error GoTo 0 ← если файла нет, ошибка не остановит макрос
● On Error GoTo 0 обязателен после Resume Next — иначе следующие реальные ошибки в процедуре будут молча проглатываться
⚠ Resume Next без возврата к GoTo 0 — частая причина, когда макрос «работает неправильно», а ошибки не видно
✓ Оборачиваю в него ожидаемые ситуации — не найден файл, лист, значение — и не затрагиваю остальные сбои
Пользовательская функция (Function…End Function)
Модуль — Insert → Procedure → Function
Function НДС(Сумма As Double) As Double: НДС = Сумма * 0.2: End Function ← используется в VBA-коде и как обычная формула на листе
● Функция, объявленная в стандартном модуле, сразу доступна в строке формул листа как =НДС(A1)
⚠ Функция в модуле листа или книги (ThisWorkbook) на листе не видна — только в стандартном модуле
✓ Замена длинной формулы с вложенными ЕСЛИ на одно понятное имя, которое можно переиспользовать
Поиск последней заполненной ячейки (Range.End)
Внутри процедуры, вместо жёстко заданного номера последней строки
lastRow = Cells(Rows.Count, 1).End(xlUp).Row ← номер последней занятой строки в столбце A, сколько бы строк ни добавили
● Работает как Ctrl+стрелка вверх от самой нижней ячейки листа — надёжнее, чем UsedRange, при удалённых строках
⚠ Если весь столбец пуст, вернёт первую строку листа — код нужно проверять на этот случай
✓ Использую в каждом макросе, где диапазон данных меняется день ото дня
Отключение перерисовки экрана (ScreenUpdating)
Начало и конец процедуры
Application.ScreenUpdating = False: ‘…код…: Application.ScreenUpdating = True ← экран не мигает при обработке тысяч строк
● Ускоряет макрос в разы на больших объёмах — Excel не тратит время на перерисовку между операциями
⚠ Забыли включить обратно в конце — Excel останется «замороженным» до перезапуска или ручного включения в настройках
✓ Ставлю в начало любого макроса, который трогает больше пары сотен ячеек
Нужна программа под вашу команду Адаптирую содержание под задачи.
Результат

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

Записывать и редактировать макросы через рекордер и вручную
Создавать процедуры и пользовательские функции
Программировать циклы для обработки массивов данных
Работать с объектами Excel — книги, листы, диапазоны
Обрабатывать ошибки и отлаживать код
Автоматизировать сбор данных из нескольких файлов и отправку отчётов
Форматы

Как проходит обучение

🏢
Очно на площадке
Провожу у вас в офисе. Группы до 20 человек.
💻
Онлайн
Телемост, Дион, СберДжаз, КТолк или ваша платформа. Запись занятия.
🔄
Гибрид
Часть группы очно, часть удалённо.
Преподаватель

Кто ведёт

Алексей Борисов
Алексей Борисов
Корпоративный тренер · Excel, ИИ, автоматизация

Преподаю Excel с 2010 года. По Excel — 24 программы по Excel, 3 229 часов. Веду Power Query, Power Pivot, VBA, финансовое моделирование. Сертификат MOS Excel Expert (1000/1000 баллов).

5 110часов
24курсов Excel
21организаций
СберX5 RetailМГУФин. университетМГТУ СтанкинSynergyГосдумаЦБ РФ
Клиенты

Кому уже проводил обучение

🏛
Государственные органы
8 организаций
Центральный банк РФ, Государственная Дума РФ, Министерство финансов РФ, Минэкономразвития России, ФГБУ ФЦАО, ОСФР Москва и МО, ФОМС / МГФОМС, КСП Ленинградской области
🎓
Университеты и образование
9 организаций
Финансовая академия при Правительстве РФ, Финансовый университет при Правительстве РФ, ВАВТ Минэкономразвития, Университет Синергия, МГТУ Станкин, Гимназия Примакова, Школа стартапов Сколково, Нетология, АНО ДПО Школа менеджмента (СПб)
⚡
Нефть, газ, энергетика
5 организаций
ПАО Россети Московский регион, ЛУКОЙЛ-Технологии, РН-Карт (Роснефть), ГазПромНефть, ОНУТЦ Газпром
🏗
Промышленность и металлургия
6 организаций
ВСМПО-АВИСМА, Полиметалл УК, Моторика, НПП КЛАСС, ООО ЮИК, Флюид-Лайн
💻
IT, телеком, финансы
6 организаций
СИБИНТЕК-СОФТ, IBS, Концерн Телематика, РокетГрупп, Банк Национальный стандарт, Деловая среда (Сбер)
🏘
Строительство, туризм, прочие
3 организации
ЛСР Управляющая компания, РЕЙНА-ТУР НТВ, ОВК М Групп
🇷🇺
Нацпроекты и поддержка МСП
4 организации
Нацпроект Малое и среднее предпринимательство, Нацпроект Содействие занятости, Малый бизнес Москвы, Центр Мой бизнес Тверской области
21
организация-заказчик
7
отраслей
10+
городов
с 2010
года
Следующий шаг Смежные курсы — Power Query, Power Pivot, Excel Эксперт.
Стоимость

Сколько стоит обучение

Стоимость зависит от формата и длительности — ориентиры ниже, точный расчёт после брифа.

Вебинар
50 000 ₽
До 4 часов, онлайн.
Программа обучения
После брифа
Длительность и состав согласуем по задаче.

Подробнее о ценах →

Вопросы

Частые вопросы

Нужен ли опыт программирования?
Нет. Курс начинается с нуля — с записи макросов кнопкой. Базовые навыки Excel достаточны.
Какая версия Excel?
Excel 2016 и новее, включая 365. VBA совместим со всеми версиями.
Нужен ли ноутбук?
Для очного — да. Для онлайн — компьютер с веб-камерой.
Можно ли адаптировать программу?
Да, под задачи вашей команды. Обсудим перед стартом.
Как проходит оплата?
По договору, ЭДО, закрывающие документы. Работаю как ИП.

Напишите про задачу

Напишите в мессенджер — отвечу в течение дня. Подберём даты, адаптирую программу.