Добавить в корзинуПозвонить
Найти в Дзене
Макрос решает

Первый макрос в VBA Excel: пошаговый разбор с нуля

Приветствую вас на первом практическом уроке по программированию на VBA в Excel. Сегодня мы не просто познакомимся с тем, как работает макрос, а напишем свой первый полноценный скрипт, который взаимодействует с ячейками, диапазонами и выполняет несколько команд сразу. Всё просто, доступно и с пошаговым объяснением. VBA-код всегда пишется внутри модуля. Чтобы его создать: 📌 Результат: у вас появится новый пустой модуль — место, где вы будете писать код. Каждый макрос начинается с ключевого слова Sub, за которым следует имя вашей процедуры. Например: Sub ПервыйМакрос() End Sub Теперь нажмите F5 или кнопку Run на панели инструментов. Проверьте вашу книгу Excel — в ячейке A1 должно появиться число 12. ✅ Вы только что создали и запустили свой первый макрос! А что если нужно заполнить сразу несколько ячеек? Допустим, нам нужно, чтобы ячейки от A1 до C6 приняли одно и то же значение — 12. Тогда изменим код так: Sub ПервыйМакрос() Range("A1:C6") = 12 End Sub Снова запускаем макрос (F5) — и ви
Оглавление

Приветствую вас на первом практическом уроке по программированию на VBA в Excel. Сегодня мы не просто познакомимся с тем, как работает макрос, а напишем свой первый полноценный скрипт, который взаимодействует с ячейками, диапазонами и выполняет несколько команд сразу. Всё просто, доступно и с пошаговым объяснением.

📌 1. Создаём модуль: с чего начинается работа

VBA-код всегда пишется внутри модуля. Чтобы его создать:

  1. Перейдите во вкладку Разработчик (Developer).
  2. Нажмите Visual Basic или используйте сочетание клавиш Alt + F11.
  3. В редакторе VBA найдите окно с надписью Project – VBAProject.
  4. Щёлкните правой кнопкой по названию вашей книги, выберите Insert → Module.

📌 Результат: у вас появится новый пустой модуль — место, где вы будете писать код.

🧱 2. Строим каркас макроса: структура процедуры

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

Sub ПервыйМакрос()
End Sub

Теперь нажмите F5 или кнопку Run на панели инструментов. Проверьте вашу книгу Excel — в ячейке A1 должно появиться число 12.

✅ Вы только что создали и запустили свой первый макрос!

🧮 4. Работа с диапазоном: A1:C6 за секунду

А что если нужно заполнить сразу несколько ячеек?

Допустим, нам нужно, чтобы ячейки от A1 до C6 приняли одно и то же значение — 12. Тогда изменим код так:

Sub ПервыйМакрос()
Range("A1:C6") = 12
End Sub

Снова запускаем макрос (F5) — и видим, как Excel автоматически заполнил весь указанный диапазон. Это мощный инструмент, особенно если вы работаете с большими таблицами.

➕ 5. Несколько команд в одном макросе

Теперь давайте добавим вторую команду: поместим число 130 в ячейку B5. Обновим код:

Sub ПервыйМакрос()
Range("A1:C6") = 12
Range("B5") = 130
End Sub

🧪 Запустите макрос. Сначала заполнится диапазон A1:C6 значениями 12, а затем ячейка B5 примет значение 130. Всё это — в одно мгновение.

🧩 6. Управляем не только диапазонами, но и разрозненными ячейками

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

Sub Блок2()
Range("A1, A5") = 30
End Sub

Или, если вы хотите объединить диапазон и отдельную ячейку:

Sub Блок2()
Range("A1:C6, F5") = 30
End Sub

Как работает эта конструкция:

  • Excel воспринимает A1:C6 как диапазон.
  • F5 — как отдельную ячейку.
  • Все указанные ячейки получают значение 30 одновременно.

📌 7. Зачем использовать отдельные процедуры?

Вы уже заметили, что мы создаём разные процедуры (например, ПервыйМакрос, Блок2) для разных задач. Это не случайно. Разделение кода:

  • Упрощает отладку (если что-то не работает — легче найти причину).
  • Повышает читаемость.
  • Позволяет повторно использовать код в будущем.

🔄 Вы можете вызывать одни макросы из других, объединяя их в цепочки — но об этом позже.

🛠️ 8. Как запускать макросы?

У вас есть несколько вариантов:

  1. Прямо из редактора VBA — кнопка Run или клавиша F5.
  2. Из Excel:
    Во вкладке
    Разработчик нажмите Макросы.
    Выберите нужный макрос из списка.
    Нажмите
    Выполнить.
  3. С помощью кнопки на листе:
    В режиме конструктора вставьте кнопку.
    Назначьте ей нужный макрос.

⚡ Это особенно удобно, если вы хотите автоматизировать часто повторяющиеся действия.

🧠 9. Как выглядит логика макроса глазами Excel

Когда вы пишете Range("A1") = 12, Excel выполняет следующее:

Перейти в ячейку A1 → Ввести число 12 → Сохранить изменения.

Он не просто «рисует» цифру — он вводит значение, как если бы вы сделали это вручную. Только гораздо быстрее.

💡 10. Практические задачи, которые можно решать с помощью макросов

Код, который мы уже изучили, позволяет:

  • Заполнять таблицы повторяющимися значениями.
  • Готовить шаблоны и формы ввода.
  • Быстро очищать или перезаписывать данные.
  • Проводить массовые расчёты и обновления.

На следующем этапе вы узнаете, как:

  • обращаться к переменным,
  • использовать условия (If),
  • создавать циклы (For),
  • и, самое главное — автоматизировать рутину полностью.

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

Если вы дошли до этого момента — вы уже сделали огромный шаг в освоении VBA. И дальше будет только интереснее. А пока подпишитесь на канал и оставьте комментарий внизу.