В статье рассмотрены примеры основных операторов и функций макросов excel, которые можно использовать в работе как готовые блоки.
Основа макроса:
Sub programm() ‘начало макроса
Макрос — команды, которые будут выполнены
End Sub ‘конец макроса
Элементы макроса
- Workbooks — книги excel. Обозначение: Workbooks(«Книга1»). Если в макросе не указана книга, значит макрос будет выполнен в активной книге.
- Worksheets — листы excel. Обозначение: Worksheets(«Лист1»). Если в макросе не указан лист, значит макрос будет выполнен на активном листе.
- Rows — строки. Обозначение: Rows(1), Rows(«2:4»). EntireRow – целая строка.
- Columns — столбцы. Обозначение: Columns(1), Columns(«2:4»). EntireColumn – целый столбец
- Cells — ячейки. Обозначение: Cells(1, 2) — ячейка, где 1 — номер строки, 2 — номер столбца
- Range — смежные ячейки на рабочем листе. Обозначение: Range(Cells(1, 2), Cells(3, 4)).
Примеры обозначений:
Workbooks(«Книга2»).Worksheets(«Лист2»).Cells(1,1)
Worksheets(«Лист2»).Range(«A5»)
Worksheets(«Лист2»).Range(«A1:B10»)
Cells(1, 2)
Range(Cells(1, 2), Cells(3, 4))
Rows(«2:4»)
Columns(«2:4»)
Математические операторы в макросах
^ — возведение в степень
* — умножение
/ — деление
+ — сложение
— — вычитание
Abs — абсолютное значение числа. Пример: Abs(-20) ⇒ 20; Abs(20) ⇒ 20.
Sqr -квадратный корень. Пример: Sqr(4) ⇒ 2
Работа с текстом
Len() — число символов в строке. Пример: Len(«абвгдеж») ⇒ 7
Left(), Right(), Mid()— возможность взять указанное количество символов из существующей строковой переменной слева (с начала), справа (с конца) или из середины соответственно.
Примеры:
Left(«абвгдежзиклмн», 4) возвращает строку «абвг»;
Right(«абвгдежзиклмн», 4) возвращает строку «клмн»;
Mid(«абвгдежзиклмн», 4, 5) возвращает строку «гдежз».
Форматирование ячеек с помощью макросов
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» —
Он проверяет условие:
➜ если оно истинно (TRUE) — выполняется заданный набор действий (обязательное),
➜ если ложно (FALSE) – другой набор действия (необязательное).
Пример: Запись примера в карточке
If Cells(1, 2) > 10 Then ‘если значение ячейки больше 10
Cells(1, 2).Interior.Color = 65535 ‘выделить ячейку желтым цветом
Else ‘если условие не выполняется
Cells(1, 2).Interior.Color = 5296274 ‘выделить ячейку зеленым цветом
End If
ЦИКЛ «FOR … NEXT»
Он предназначен для запуска цикла, который повторяется определенное (заданное) количество раз для каждой переменной.
‘Пример: Запись примеров по математике в строчках с 8 по 16 через одну
For i = 8 To 16 Step 2 ‘i — задается номер строки с 8 по 16, шаг = 2. Цикл запускается 5 раз (для 8,10,12,14,16 строчек)
a1 = Int(Rnd * n) ‘формируется первое слагаемое от 0 до (n-1)
a2 = Int(Rnd * n) + 1 ‘формируется второе слагаемое от 1 до n
Cells(i, 1) = a1 & » + » & a2 & » = » ‘запись примера в i-й строке и 1-м столбце
Next i
Комментарии
Комментарии – это строки в коде, которые используются в качестве заметок. Они очень важны для написания кода, так как помогают разобраться, какие действия выполняются в строчках. Они не участвуют в процессе выполнения программы и не влияют на результат работы макроса.
Комментарии начинаются апострофом (‘) и в коде автоматически выделяются зеленым цветом, чтобы было понятно, что это комментарий.
Многие ленятся добавлять комментарии к своей программе. Но несколько минут, потраченных на написание понятного комментария, могут сэкономить кучу времени в будущем.
Если Вы хотите научиться писать макросы в Excel, то можно переходить к более детальному изучению . Настройку работы макросов excel и их создание лучше осваивать на конкретном примере, где понятна цель написания программы. Изучить основы макросов можно на курсе «Excel макросы: генератор простых примеров по математике«.
Перейти к урокам по изучению макросов в Excel на примере формирования примеров по математике случайным образом. Курс состоит из 10 уроков + шаблоны готовых макросов. |