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

Задание 1

  1. Откройте новый документ в Excel.

  2. Откройте редактор Visual Basic, используя команду Вид -> Макросы -> Необходимо ввести имя нового макроса lab2 и нажать кнопку Создать. Откроется окно (рис. 12).

Рис. 12. Окно среды редактирования и отладки макросов

  1. В поле окна между словами Sub lab2 End Sub введите текст

MsgBox(«Hello»)

  1. Кликните на кнопке с зеленым треугольником («Выполнить Basic») в верхней панели для выполнения макроса.

  2. Программа запустится и откроется окно, которое создается функцией MsgBox (рис. 13). Обратите внимание, что текст, введенный в скобках функции выводится как надпись в окне функции.

Рис. 13. Окно функции MsgBox

  1. Сохраните документ.

Самостоятельно

Выведите поздравление с Новым годом.

Задание 2

    1. В этом же документе откройте редактор Visual Basic, используя вкладку Разработчик -> Visual Basic и отредактируйте только что созданный макрос.

    2. В среде редактирования поправьте имеющейся модуль, введя следующий текст:

Dim a as Integer

Dim s As String

s=InputBox(«Введите число»)

a = val(s)

MsgBox a

  1. В первых строках объявляются переменные a и s. Первая имеет тип Integer (целое число), вторая – строка, в нее можно сохранять буквы или слова.

  2. Далее используем функцию InputBox, которая считывает то, что ввел пользователь. Но все, что вводит пользователь, считается строкой. Если вводит число, то оно представляется как «2», а все, что в «» считается числом. Поэтому результат ввода сохраняется в переменной s. Чтобы убрать «» с числа применяется функция val, она переводит строку в число. И теперь результат можно сохранить в переменную а.

  3. Кликните на кнопке с зеленым треугольником («Выполнить Basic») в верхней панели для выполнения макроса.

  4. Программа запустится и откроется окно, которое создается функцией InputBox (рис. 14). Обратите внимание, что текст, введенный в скобках функции, выводится как надпись в окне функции. В окне функции InputBox в поле для ввода введите число и нажмите кнопку «ОК».

Рис. 14. Окно функции InputBox

  1. Откроется окно функции MsgBox с введенным ранее числом (рис. 15).

Рис. 15 Окно функции с результатом работы программы

  1. Сохраните документ.

Самостоятельно

  1. Создайте программу, перемножающую два числа, введенных пользователем.

  2. Выведите поздравления для того человека, имя которого введет пользователь.

Лабораторная работа № 11 Создание функций

В Excel можно использовать не только имеющиеся функции, но и создавать свои. Для этого нужно зайти в редактор Бэйсик и в новом модуле написать свою функцию. Затем ее можно использовать, как и любые функции Excel. Ранее мы писали коды процедур, которые начинались со служебного слова Sub. Код функции, в отличие от кода процедуры, начинается с Function и заканчивается end function. В коде функции не нужно предусматривать ввода данных, поскольку он осуществляется через таблицы Excel. Но чтобы это стало возможным необходимо при написании кода функции предусмотреть набор параметров, передаваемых функции. Параметры – это данные передаваемые функции. Параметры объявляются и перечисляются в скобках сразу после имени функции. Таким образом, начало кода функции:

Function имя_функции(список параметров).

Функция, в отличие, от процедуры, всегда возвращает значение. То есть если вызвать написанную в макросе функцию в таблице Excel, то функция произведет расчеты, используя введенные параметры, и выведет в ячейку Excel результат. Таким образом, сначала нужно написать код функции в редакторе VBA, затем вызвать ее в ячейке таблицы Excel:

=имя_функции(номер_ячейки, содержащей параметр функции),

то в ячейке получим результат работы функции.