End Sub
Передача данных при вызове программы
Вызывая подпрограмму, Вы вправе передать в нее переменные или значения. Эта возможность еще более расширяет область применения подпрограмм, позволяя выполнять одни и те же действия с различными исходными данными. Рассмотрим в качестве примера подпрограмму DisplayMessage. Сейчас она выводит сообщение Данные введены. Предположим, что кроме этого мы хотим знать, какое именно значение было введено, например Было введено число 500. Проще его передать в подпрограмму DisplayMessage аргумент (это можно сделать двумя способами; см. следующий раздел). Как это сделать, показано в следующем примере.
Sub ПередачаАргумента()
Dim Range1 As Range
Set Rangel = Worksheets(1).Range("A1")
Range1.Value = 500
DisplayMessage2 Rangel.Value
Sub DisplayMessage2(Value1)
MsgBox "Было введено число " & Value1
Здесь есть два интересных момента. Во-первых, обращение к подпрограмме DisplayMessage2 в ПередачаАргумента содержит аргумент Range1.Value. Во-вторых, в первой строке DisplayMessage2 в круглых скобках задано имя переменной Value1. Она принимает значение аргумента, указанного в вызове подпрограммы DisplayMessage2, и затем используется для вывода соответствующего значения в информационном окне.