В статье рассмотрены примеры макросов Excel — основные операторы и функции, которые можно использовать в работе как готовые блоки. Эти примеры макросов Excel помогут вам быстро освоить синтаксис VBA и начать автоматизировать рутинные задачи. Все примеры макросов Excel сопровождаются подробными комментариями.
Основа макроса — базовая структура
Любой макрос в Excel имеет следующую структуру:
| Sub programm() ‘ начало макроса ‘ здесь идут команды, которые будут выполнены End Sub ‘ конец макроса |
💡 Важно: имя макроса не должно содержать пробелов. После Sub обязательно ставятся круглые скобки (). Всё, что находится между Sub и End Sub, называется телом макроса и выполняется при его запуске.
Элементы макросов: работа с книгами, листами, ячейками
Вот основные объекты, с которыми работают примеры макросов Excel:
- Workbooks — книги Excel. Обозначение:
Workbooks("Книга1"). Если в макросе не указана книга, значит макрос будет выполнен в активной книге. - Worksheets — листы Excel. Обозначение:
Worksheets("Лист1"). Если в макросе не указан лист, значит макрос будет выполнен на активном листе. - Rows — строки. Обозначение:
Rows(1)(первая строка),Rows("2:4")(строки со 2 по 4). СвойствоEntireRow— целая строка. - Columns — столбцы. Обозначение:
Columns(1)(первый столбец),Columns("2:4")(столбцы со 2 по 4). СвойствоEntireColumn— целый столбец. - Cells — ячейки. Обозначение:
Cells(1, 2), где 1 — номер строки, 2 — номер столбца (то есть ячейка B1). - Range — смежные ячейки на рабочем листе. Обозначение:
Range(Cells(1, 2), Cells(3, 4))(диапазон от B1 до D3).
Примеры обозначений объектов в коде:
Workbooks("Книга2").Worksheets("Лист2").Cells(1,1)— ячейка A1 на листе «Лист2» в книге «Книга2».Worksheets("Лист2").Range("A5")— ячейка A5 на листе «Лист2».Worksheets("Лист2").Range("A1:B10")— диапазон A1:B10 на листе «Лист2».Cells(1, 2)— ячейка B1 на активном листе.Range(Cells(1, 2), Cells(3, 4))— диапазон от B1 до D3.Rows("2:4")— строки со 2 по 4 на активном листе.Columns("2:4")— столбцы со 2 по 4 (B, C, D).
Математические операторы и функции в макросах
Эти примеры макросов Excel показывают базовые математические операции, которые можно использовать в коде:
- ^ — возведение в степень. Пример:
2 ^ 3⇒ 8. - * — умножение.
- / — деление.
- + — сложение.
- — — вычитание.
- Abs — абсолютное значение числа. Пример:
Abs(-20)⇒ 20;Abs(20)⇒ 20. - Sqr — квадратный корень. Пример:
Sqr(4)⇒ 2.
Работа с текстом: функции Len, Left, Right, Mid
При создании макросов Excel часто требуется обрабатывать текстовые строки. Вот основные функции:
- Len() — число символов в строке. Пример:
Len("абвгдеж")⇒ 7. - Left() — берёт указанное количество символов слева (с начала строки). Пример:
Left("абвгдежзиклмн", 4)⇒ «абвг». - Right() — берёт указанное количество символов справа (с конца строки). Пример:
Right("абвгдежзиклмн", 4)⇒ «клмн». - Mid() — берёт указанное количество символов из середины строки, начиная с заданной позиции. Пример:
Mid("абвгдежзиклмн", 4, 5)⇒ «гдежз».
Форматирование ячеек с помощью макросов
Эти примеры макросов Excel показывают, как изменять внешний вид ячеек программно:
| Cells(1, 1).Font.Name = «Courier New» ‘ формат шрифта Cells(1, 1).Font.Size = 17 ‘ размер шрифта Cells(1, 1).Font.Color = 12632256 ‘ цвет шрифта Cells(1, 1).Font.Bold = True ‘ жирный Cells(1, 1).Font.Italic = True ‘ курсив Range(Cells(1, 1), Cells(2, 2)).Merge ‘ объединить ячейки Range(Cells(6, 1), Cells(200, 30)).HorizontalAlignment = xlCenter ‘ выравнивание по центру по горизонтали Range(Cells(6, 1), Cells(200, 30)).VerticalAlignment = xlCenter ‘ выравнивание по центру по вертикали Cells(1, 1).Interior.Color = 10053375 ‘ выделить ячейку цветом Range(Cells(1, 2), Cells(3, 4)).Borders.LineStyle = True ‘ границы ячеек Range(Cells(1, 2), Cells(3, 4)).Borders.Color = vbBlue ‘ изменить цвет границы |
Условный оператор IF … THEN … ELSE
Оператор IF проверяет условие: если оно истинно (TRUE) — выполняется один набор действий, если ложно (FALSE) — другой (необязательный). Это один из самых востребованных примеров макросов Excel для логических проверок.
Пример: выделение ячейки цветом в зависимости от значения
| If Cells(1, 2) > 10 Then ‘ если значение ячейки B1 больше 10 Cells(1, 2).Interior.Color = 65535 ‘ выделить ячейку жёлтым цветом Else ‘ если условие не выполняется (значение ≤ 10) Cells(1, 2).Interior.Color = 5296274 ‘ выделить ячейку зелёным цветом End If |
Цикл FOR … NEXT
Цикл FOR … NEXT предназначен для запуска повторяющихся действий заданное количество раз. Это важный пример макросов Excel для автоматизации однотипных операций.
Пример: запись примеров по математике в строчках с 8 по 16 через одну
| For i = 8 To 16 Step 2 ‘ i — номер строки от 8 до 16, шаг = 2 (8, 10, 12, 14, 16) a1 = Int(Rnd * 10) ‘ формируется первое слагаемое от 0 до 9 a2 = Int(Rnd * 10) + 1 ‘ формируется второе слагаемое от 1 до 10 Cells(i, 1) = a1 & » + » & a2 & » = » ‘ запись примера в i-й строке и 1-м столбце Next i |
💡 Пояснение: Step 2 означает, что переменная i будет увеличиваться на 2 после каждой итерации. Цикл выполнится 5 раз (для строк 8, 10, 12, 14, 16). Функция Rnd генерирует случайное число от 0 до 1, Int округляет до целого.
Комментарии в макросах — зачем они нужны
Комментарии — это строки в коде, которые используются в качестве заметок. Они очень важны при написании примеров макросов Excel, так как помогают разобраться, какие действия выполняются в каждой строчке. Комментарии не участвуют в процессе выполнения программы и не влияют на результат работы макроса.
Правила написания комментариев:
- Комментарии начинаются с апострофа (
'). - В редакторе VBA они автоматически выделяются зелёным цветом.
- Можно писать комментарии на отдельной строке или после кода на той же строке.
📌 Важно: многие ленятся добавлять комментарии к своей программе. Но несколько минут, потраченных на написание понятного комментария, могут сэкономить часы времени в будущем, когда вы вернётесь к своему коду через несколько месяцев.
Где дальше изучать макросы Excel
Если вы хотите научиться писать макросы в Excel, то можно перейти к более детальному изучению. Настройку работы макросов Excel и их создание лучше осваивать на конкретном примере, где понятна цель написания программы. Изучить основы макросов можно на курсе «Excel макросы: генератор простых примеров по математике».
|
Перейти к урокам по изучению макросов в Excel на примере формирования примеров по математике случайным образом. Курс состоит из 10 уроков + шаблоны готовых макросов. |
Вывод
Рассмотренные примеры макросов Excel охватывают основные элементы VBA: работу с объектами (книги, листы, ячейки, диапазоны), математические операторы, текстовые функции, форматирование, условный оператор IF и цикл FOR. Используйте эти примеры макросов Excel как готовые строительные блоки для своих проектов. Со временем вы научитесь комбинировать их, создавая сложные программы автоматизации. Начните с малого: возьмите любой пример из статьи, вставьте в редактор VBA и запустите. Так вы быстрее поймёте логику работы макросов.
