Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по VBA(реценц последний).doc
Скачиваний:
10
Добавлен:
01.04.2025
Размер:
2.47 Mб
Скачать
  1. Программирование на vba

    1. Использование модулей и процедур

Модуль – это именованная единица, состоящая из одной или нескольких процедур, а также объявлений, относящихся ко всем процедурам в модуле.

Процедура – наименьшая единица программного кода, на которую можно ссылаться по имени. Может выполняться независимо. VBA содержит виды процедур:

  1. Процедура Function (Функция) выполняет действие в пределах своего блока и возвращает единственное значение в ту процедуру, откуда была вызвана процедура. Процедуры – функции VBA используются для создания пользовательских функций, которые позволяют проводить вычисления, выполнение которых с помощью формул, основанных на встроенных функциях MS Excel невозможно или неудобно.

  2. Процедура типа Sub (подпрограмма) - универсальная процедура для выполнения различных заданий в VBA, возвращает множество значений.

Обзор области определения (видимости)

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

Типы видимости:

  1. Общие или открытые (Public) – процедуры можно вызвать из любой части программы – из того же модуля, из другого модуля и даже из другого проекта. Имя процедуры функции появляется в списке встроенных функций fx в категории Определенные пользователем.

  2. Личная или локальная (Private) – будет видима только внутри содержащего ее модуля. Т.е. можно вызвать локальную процедуру из других процедур того же модуля, но не из процедур, размещенных в других модулях.

Синтаксис процедуры Function

Public Function Имя_функции ([аргументы])[as Type]

Операторы функции

End Function

Функция всегда возвращает значение вызвавшей её процедуре в имени функции. Последний оператор функции является оператором, назначающим окончательный результат вычисления функции описания Имя – функции.

Если аргументы указаны, то процедура будет требовать эти аргументы при выполнении своей работы. Внутри самой процедуры аргументы играют ту же роль, что и переменные объявленные самым обычным способом.

Например:

Public Function S(r)

Pi=3.14159

S=pi*r^2

End Function

Аргументы можно не указывать, если они в процедуре в дальнейшем объявлены.

Например:

Public Function S()

Pi=3.14159

r=5

S= Pi *r^2

End Function

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

  1. Внести имя функции через строку формул (или в ячейку). Например, =S() (локальных и для глобальных переменных процедур)

  2. Использование мастера функций для глобальных переменных процедур). Например, используя команду Вставка Функция… или кнопка fx . В диалоговом окне выбрать категорию Определенные пользователем и имя функции (S).

Синтаксис для описания процедур типа Sub (подпрограммы)

Public Sub Имя процедуры (аргументы)

Операторы процедуры

End Sub

      1. Создание новой процедуры

  1. Создать новый модуль

  2. Добавить новую процедуру можно после активизации модуля:

    1. используя команду горизонтального меню Insert ►Procedure;

    2. через команду контекстного меню Insert ►Procedure;

    3. используя кнопку на панели инструментов Стандартная;

    4. диалоговое окно Add Procedure (Добавление (вставка) процедуры) (рис. 7.).

Рис. 7. Диалоговое окно Add Procedure

Ввести имя процедуры в поле Name (Имя).

Выбрать с помощью переключателей Type (Тип) и Scope (Область определения (видимости)).

Установить при необходимости флажок All Local variables as Statics (Считать все локальные переменные статистическими).