- •Электронные таблицы excel
- •Часть 1
- •2006 Общие указания к лабораторным работам
- •Лабораторная работа 1 Создание типовых шаблонов для расчетов
- •Задание 1. Вычисления и построение диаграмм
- •Задание 2. Использование абсолютной адресации и констант
- •Лабораторная работа 2 Сводные таблицы
- •Лабораторная работа 3 Использование логических функций
- •Лабораторная работа 4 Подбор параметра Постановка задачи.
- •Определить
- •Лабораторная работа 5 Создание функций пользователя Задание 1. Функция, автоматизирующая расчет времени в пути для самолета
- •Задание 2. Функция, автоматизирующая расчет времени в пути для поезда
- •Лабораторная работа 6 Создание и использование макросов Задание 1
- •Задание 2 Создание макроса и кнопки для его запуска
- •Лабораторная работа 7 Excel– Создание и использование форм Задание 1
- •Задание 2
- •Лабораторная работа 8 Создание функций пользователя Задание 1. Функция, автоматизирующая расчет времени в пути для самолета
- •Задание 2. Функция, автоматизирующая расчет времени в пути для поезда
- •Задание 3 Функция, автоматизирующая расчет часовой стоимости полета самолета
Лабораторная работа 6 Создание и использование макросов Задание 1
Запустите Excel
Включите режим записи макроса, для чего выберите режим СервисМакросНачать запись.
В открывшемся меню Запись макроса введите имя макроса, напримерМакросПроверка, и присвойте ему комбинацию клавиш –Ctrl+z.
Нажмите кнопку меню OKи приготовьтесь к началу записи макроса в виде последовательности команд, выполняемых на рабочем листеExcel.
Введите в ячейку А1 первого рабочего листа чистой книги слово Проверка. Введите в ячейку А2 число 26 и число 15 в ячейку В2. Остановите запись макроса нажатием кнопкиОстановить запись.
Очистите область А1:С3 рабочего листа и вызовите на выполнение макрос МакросПроверка с помощью комбинации клавиш Ctrl+z.
Ознакомьтесь с набором рабочих окон редактора VBAи с текстом созданной программы, для чего с помощью командСервисМакросМакросывызовите макрос МакросПроверка и нажмите кнопкуИзменить. Аналогичный результат можно получить, выполняя последовательность командСервисМакросРедактор Visual Basic.
Ознакомьтесь с текстом созданного модуля МакросПроверка. Пример полученного текста представлен ниже.
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
Первая строка представляет собой заголовок созданной процедуры МакросПроверка.
Параметры процедуры отсутствуют. Символом обозначен комментарий. Первая рабочая строка программы вызывает объект Арр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
