Информатика: Сборник лабораторных работ по программированию в среде Visual Basic for Applications, страница 4

Тело процедуры

End Sub

где [Private/Public] – необязательные ключевые слова, определяющие область видимости процедуры:

Private – ключевое слово, определяющее область видимости процедуры – в пределах данной формы, рабочего листа;

Public - ключевое слово, определяющее область видимости процедуры –для всего проекта.

СписокПараметров служит для передачи процедуре исходных данных для вычислений (могут отсутствовать).

Процедуры и макросы могут вызываться из других программ. Например:

Sub Макрос1()

Dim Str As String     ‘Объявление переменной

Str=«Параметр»      ‘Присвоение переменной некоторого значения

Proc (Str)                 ‘Вызов процедуры  с передачей ей параметра

End Sub

Public Sub Proc (St As String)

MsgBox St                ‘Вывод на экран переданного параметра

End Sub

‘ комментарий – пояснение к программе, которое не интерпретируется VBA

Функция – это процедура, которая выполняет действия и возвращает некоторое (вычисленное) значение вызвавшей программе.

Функция имеет следующий синтаксис:

[Private/Public] Function ИмяФункции (СписокПараметров)_As ТипДанных

Тело функции

ИмяФункции = Выражение

End Function

где [Private/Public] – необязательные ключевые слова, определяющие область видимости функции:

Function - ключевое слово, указывающее, на то, что это функция;

ИмяФункции – имя функции;

СписокПараметров служит для передачи функции исходных данных для вычислений (могут отсутствовать);

ТипДанных – тип данных возвращаемого значения;

End Function – ключевые слова, указывающие на конец функции.

Обращение к функции также может производиться из других функций и процедур. Если функция записана в модуле, то ее можно вызвать из Excel с помощью мастера функций.

Пример:

Sub Proc ()

x=6               

p=Y(x)                ‘вызов функции

MsgBox  p         ‘Вывод на экран вычисленного значения

End Sub

Public Function Y (x)_As Integer

Y=x^ 3            ‘расчет куба числа

End Function

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

-  если в проекте нет модуля, то создать его, выполнив команду меню  редактораVisual Basic  Insert –Module;

-  выполнить команду меню  редактораVisual Basic  InsertProcedure;

-  в открывшемся диалоговом окне установить переключатель на Sub (процедура) или  Function (функция);

-  в окне Name ввести имя;

-  установить соответствующий переключатель области видимости (Scope);

-  щелкнуть на OK. После выполнения этих действий в окне модуля появится соответствующая заготовка (заголовок и окончание), между которыми нужно поместить  программный код.

Существует определенный формат программного кода, задающего установку свойства и использование метода:

Объект.Свойство=Значение

Например:

Worksheets(1).Font.Size=16                ‘задание размера шрифта для  листа 1

Label1.Caption=”Название метки”     ‘присвоение метке названия

Объект.Метод [Параметры]

Например:

Worksheets(1).Delete                 ‘удаление листа 1

Listbox1.Additem  “Первый”    ‘формирование списка

Listbox1.Additem  “Второй”

Различные объекты могут иметь различные свойства и методы.

Для ссылок на ячейки в Excel используются свойства рабочего листа Range  и Cells. Range используется для работы с ячейками, строками, столбцами, а также  их   группами. Cells используется для доступа к отдельной ячейке. Если имя листа не указывается, то используется активный лист. Например, как присвоить ячейке А5 листа 1 значение=7 (все записи эквивалентны)?

Worksheets(1).Range(“A5”).Value=7

Worksheets(1).Range(“A5”)=7

Range(“A5”).Value=7

Worksheets(1).Cells(5,1).Value=7

Cells(5,1)=7

В свойстве Cells(№строки, №колонки) указываются через запятую №строки и №колонки. В свойстве Range при задании диапазона ячеек начало и конец диапазона разделяются двоеточием. Например, Range(“A1:F10”).

Переменные