Задание 1
1. Запустите Excel
2. Включите режим записи макроса, для чего выберите режим СервисМакросНачать запись.
В открывшемся меню Запись макроса введите имя макроса, например МакросПроверка, и присвойте ему комбинацию клавиш – Ctrl+z.
Нажмите кнопку меню OK и приготовьтесь к началу записи макроса в виде последовательности команд, выполняемых на рабочем листе Excel.
3. Введите в ячейку А1 первого рабочего листа чистой книги слово Проверка. Введите в ячейку А2 число 26 и число 15 в ячейку В2. Остановите запись макроса нажатием кнопки Остановить запись.
4. Очистите область А1:С3 рабочего листа и вызовите на выполнение макрос МакросПроверка с помощью комбинации клавиш Ctrl+z.
5. Ознакомьтесь с набором рабочих окон редактора VBA и с текстом созданной программы, для чего с помощью команд СервисМакросМакросы вызовите макрос МакросПроверка и нажмите кнопку Изменить. Аналогичный результат можно получить, выполняя последовательность команд СервисМакросРедактор Visual Basic.
6. Ознакомьтесь с текстом созданного модуля МакросПроверка. Пример полученного текста представлен ниже.
Sub МакросПроверка()
'
' МакросПроверка Макрос
' Макрос записан 03.11.2003 (NNNN)
'
' Сочетание клавиш: Ctrl+z
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "Проверка"
Range("A2").Select
ActiveCell.FormulaR1C1 = "26"
Range("B2").Select
ActiveCell.FormulaR1C1 = "15"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
Range("C3").Select
End Sub
7. Первая строка представляет собой заголовок созданной процедуры МакросПроверка.
Параметры процедуры отсутствуют. Символом обозначен комментарий. Первая рабочая строка программы вызывает объект Аррliсаtiоп (приложение) с методом Run (выполнить), вызывающим на выполнение объект Range (диапазон) с параметрами начальной установки рабочего листа. Далее производится выделение ячейки А1 текущего рабочего листа и запись в активную ячейку в формате R1C1 текста “Проверка”.
Отметим, что в Ехсеl существует два формата (А1 и R1СI) и два способа адресации (относительная и абсолютная) ячеек памяти. В формате А1 признаком абсолютной адресации является символ “$“. В формате RIСI абсолютный адрес задается индекс рабочей строки и столбца, а при необходимости использования относительной адресации в квадратных скобках указывается относительное смещение со знаком по отношению к текущей рабочей ячейке. Последующие действия программы соответствуют выполненной последовательности при программировании макроса. Как следует из текста, константы и формулы заносятся с использованием метода FormulaR1С1 объекта ActiveCell.
9. Модифицируйте созданную программу. Введите в ее текст описание трех дополнительных переменных:
Dim b, c As Integer
Предварительно описав переменную d1 как строку символов, введите в текст программы оператор ввода данных:
Dim d As String
D = InputBox (“Первый сомножитель”, ”Проверка”)
Преобразуйте значение d из символьного вида к числовому с помощью функции:
b = Val(d)
и убедитесь, что содержимое ячейки может быть задано с клавиатуры в диалоговом режиме.
Ниже представлен пример созданной в процессе модернизации макроса программы на языке VВА:
Sub МакросПроверка ()
'
' МакросПроверка Макрос
' Макрос записан 03.11.2003 (APTS)
Dim b, c As Integer
Dim d As String
MsgBox "Умножение", vbOKOnly, “Проверка”
d = InputBox("Первый сомножитель", "Проверка")
b = Val(d)
d = InputBox("Второй сомножитель", "Проверка")
c = Val(d)
Range("A1").Select
ActiveCell.FormulaR1C1 = "Проверка"
Range("A2").Select
ActiveCell.FormulaR1C1 = b
Range("B2").Select
ActiveCell.FormulaR1C1 = c
Range("C2").Select
ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
End Sub