Чтобы использовать написанную подпрограмму или функцию, ее нужно вызвать. Вызов процедуры-подпрограммы отличается от вызова процедуры-функции.
Обычно подпрограмма вызывается из другой подпрограммы или функции с помощью специального оператора VBA. Если она имеет аргументы, ей передается список фактических параметров.
Оператор вызова подпрограммы может использоваться в двух формах:
В первом случае список фактических параметров задается без скобок, во втором – использование скобок обязательно. Но всегда список фактических параметров должен полностью соответствовать списку аргументов, заданному в объявлении подпрограммы. Все фактические параметры для обязательных аргументов должны быть перечислены в том порядке, в каком они присутствуют в описании подпрограммы, после чего могут идти параметры для необязательных аргументов.
Примечание. Список фактических параметров при вызове функции должен обязательно заключаться в кавычки.
Например, вызов объявленной в вышеприведенном примере функции SummaVar может выглядеть следующим образом:
Dim intShelfs (I To 30) As Integer
Dim intS As Integer
Init intShelfs инициируем массив intShelfs
intS = SummaVar(1,2,3,4,5,6,7,8,9)'суммируем целые числа
Пример 14. Создать программу, работающую с процедурами и функцией, параметрами которых являются значения, вводимые в текстовые поля формы. После нажатия кнопки Счет на форме основная программа вызывает процедуры и функцию и выводит полученные результаты в три соответствующие метки.
Процедуры и функция выполняют следующие действия:
1) первая процедура производит суммирование двух первых введенных значений a и b;
2) вторая процедура производит умножение третьего и четвертого введенных значений c и d;