Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
02_ЛР_VBA.doc
Скачиваний:
2
Добавлен:
09.11.2019
Размер:
286.72 Кб
Скачать

Лабораторная работа №2

Тема:

Написание программ с использованием условного оператора “If … Then … Else ” и оператора выбора “Select … Case”.

Создание и использование пользовательских функций.

Условие задания:

  1. написать процедуру (Sub), вычисляющую следующую функцию:

5, если х ≤ 0

z = x2+y2 , если х=5 или х=10

4(х – у), если х > 0 и х ≠ 5 и х ≠ 10

Алгоритм реализовать при помощи условного оператора “IF … Else”.

Значения х и у брать из ячеек В1 и В2 соответственно.

Результат вывести в ячейку В3.

Запуск процедуры осуществить по нажатию кнопки.

  1. Написать пользовательскую функцию (function), вычисляющую функцию из задания 1.

Алгоритм реализовать при помощи оператора выбора “Select … Case”.

Значения х и у являются аргументами функции.

Ввести написанную пользовательскую функцию на листе Excel (как любую встроенную функцию Excel).

Теоретические сведения

1. Понятие процедуры

Программы VBA хранятся в проектах. Проекты состоят из модулей, включающих в себя процедуры. Процедура – это набор описаний и инструкции, сгруппированные для выполнения. В VBA используются процедуры двух типов: процедура Sub (процедура-подпрограмма или просто процедура) и процедура Function (функция).

Процедуры-подпрограммы

Процедура-подпрограмма – это набор команд, с помощью которого можно решить определенную задачу. При запуске процедуры выполняются содержащиеся в ней инструкции, а затем управление передается в приложение или процедуру, которая ее вызвала.

Синтаксис процедуры следующий:

[Public | Private] Sub имя ([аргументы])

Инструкции

[Exit Sub]

[Инструкции]

End Sub

Необязательные ключевые слова Public и Private используются для описания области видимости процедуры – во всех модулях проекта или только в том модуле, где процедура описана.

Ключевые слова Sub и End Sub используются в описании любой процедуры.

Параметр имя определяет имя процедуры.

Необязательный параметр аргументы представляет собой список перечисленных через запятую аргументов, передаваемых в процедуру.

Инструкция Exit Sub позволяет выйти из процедуры в любом ее месте (обычно применяется для обработки ошибок).

Функции

Процедура-функция также представляет собой набор команд, который решает определенную задачу. Различие заключается в том, что функция обязательно возвращает значение и, таким образом, может использоваться в любом выражении.

Упрощенный синтаксис функции:

[Public | Private] Function имя ([аргументы]) [As Тип]

Инструкции

имя = выражение

[Exit Function]

[Инструкции]

End Function

Основные различия в синтаксисе заключаются в следующем:

Ключевые слова Function и End Function используются в описании любой функции.

Параметр имя определяет имя функции.

Параметр тип позволяет явно задать тип данных, который возвращает функция. Если он опущен, то по умолчанию возвращается значение типа Variant.

Внутри функции обычно имеется инструкция имя = выражение, которое используется для задания возвращаемого значения. Параметр выражение определяет значение, которое должно быть совместимым с объявленным в параметре As тип типом данных для функции.

Инструкция Exit Function позволяет выйти из процедуры-функции.

Функции, описанные в модуле, как public становятся доступны для использования на листе Excel, так же как и все встроенные функции Excel. Все доступные пользовательские функции находятся в категории «Определенные пользователем».

Ниже приведен пример пользовательской функции которая возводит передаваемое ей число в квадрат:

Public Function VKvadrat(x As Single) As Single

Dim sngResult As Single

sngResult = x ^ 2

VKvadrat = sngResult

End Function

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]