- •Компьютерные информационные технологии
- •Часть 1
- •Лабораторная работа №1 Электронная таблица Excel. Макросы.
- •Варианты заданий
- •Лабораторная работа №2 итерфейс редактора vba. Элементы управления vba
- •Лабораторная работа №3 разработка линейной программы на vba
- •Лабораторная работа №4 алгоритмы и программы разветвляющейся структуры. Условный оператор if
- •Краткие теоретические сведения:
- •If условие Then [операторы 1] [Else операторы 2]
- •If условие Then
- •3 Этап. Загрузить редактор vba и разработать приложение. Порядок выполнения работы:
- •Содержание отчета.
- •Контрольные вопросы
- •Задания к выполнению:
- •2 Часть. Программирование с использованием объектов excel.
- •Порядок выполнения работы:
- •Лабораторная работа № 5 оператор выбора select case
- •Лабораторная работа № 6
- •Vba. Цикл с параметром (for…next)
- •1.Цикл For.
- •2.Массивы.
- •Лабораторная работа №7
- •Vba. Циклы с предусловием и постусловием.
- •Лабораторная работа № 8 алгоритмы обработки массивов
- •1 Алгоритм определения максимального (минимального) значения элементов массива
- •2 Алгоритм нахождения суммы и произведения элементов массива
- •3 Алгоритмы сортировки элементов массива
- •Лабораторная работа № 9
- •Vba. Пользовательские процедуры
- •Лабораторная работа № 10
- •Vba. Пользовательские функции
- •Лабораторная работа № 11 Операторы и функции для обработки строк
Лабораторная работа № 10
Vba. Пользовательские функции
Цель: изучение пользовательских функций и их реализации на языке программирования VBA
Теоретические положения.
Приведем некоторые общие сведения об организации программ в VBA. Программа VBA состоит из одного или нескольких модулей. Модуль — это лист с текстом программы, вставленный в рабочую книгу. Обычно текст программы VBA начинается с опций, которые управляют описанием переменных, способом сравнения строк и т. д. Затем следует объявление глобальных переменных или констант для данного модуля, т. е. таких переменных, которые используются во всех процедурах модуля. Далее располагается непосредственно текст функций пользователя и процедур, составляющих саму программу.
При написании программ удобно внутрь текста помещать комментарии. Комментарии — это пояснительный текст, который можно записать в любом месте программ. Каждая строка комментариев начинается со знака апострофа. Комментарии игнорируются компилятором, и поэтому никакого влияния на программу не оказывают. Комментарии удобно использовать также при отладке операторов для их временного отключения.
Правильно организованной программой является такая программа, которая достигает результата наименьшим количеством итераций и при этом использует оптимальный вариант решения поставленной задачи. Это достигается многими компонентами, одним из которых и является функция.
Возьмем к примеру ситуацию, когда при проектировании программы вы замечаете, что одну и ту же многошаговую операцию необходимо будет произвести с различными переменными. Разумным шагом в сложившейся ситуации является следующий - один раз написать код многошаговой операции и использовать его во всех необходимых местах данной программы, а в последствии и при написании других программ.
Процедура Function представляет собой набор команд, с помощью которого можно решить определенную задачу. Отличие процедуры Function от процедуры Sub состоит в том, что процедуры данного типа обязательно возвращают значение. При создании процедуры Function можно описать тип данных, который возвращает функция.
Синтаксис описания функции выглядит следующим образом:
Function имя ([аргументы] )[As тип]
Инструкции
имя=выражение
End Function
-
Ключевые слова Function и End Function используются в описании любой функции.
-
Параметр имя определяет имя функции.
-
Необязательные параметры аргументы позволяют передать в функцию требуемые значения.
-
Параметр As тип позволяет явно задать тип данных, который возвращает функция. Если он опущен, то по умолчанию возвращается значение типа Variant.
-
Внутри функции обычно имеется инструкция имя=выражение, которая используется для задания возвращаемого значения. Обратите внимание, что имя функции стоит слева от знака равенства, а параметр выражение определяет значение, которое должно быть совместимым с объявленным в параметре As тип типом данных для функции.
Процедуры Function возвращают значение, поэтому они обычно используются при выполнении вычислений, например, можно создать функцию, которая возвращает длину окружности заданного радиуса:
Function Circumference (Radius As Double) As Double
Const Pi = 3.14159
Circumference = 2 * Pi * Radius
End Function
-
Функция Circumference возвращает значение типа Double.
-
Внутри тела функции определяется константа Pi и выполняется расчет длинны.
-
Обратите внимание, что в вычисляемом выражении участвуют аргумент Radius и константа Pi, а результат расчета присваивается переменной Circumference, которая является именем функции.
Задания к выполнению
-
Создать программу, которая обеспечит ввод данных y при помощи InputBox, произведет вызов функции g с двумя условиями:
и выведет результат в MsgBox.
-
Создать программу, которая обеспечит ввод данных t при помощи InputBox, произведет вызов функции z с тремя условиями:
и выведет результат в MsgBox.