ВУЗ:
Составители:
69
DisplMess2 в круглых скобках задано имя переменной V1. Она принимает значение
аргумента, указанного в вызове подпрограммы DisplMess2 и затем используется для
вывода соответствующего значения в информационном окне.
Второй способ состоит в том, чтобы объявить V1 переменной уровня модуля
(проекта), тогда она будет доступна во всех подпрограммах модуля (проекта), в том
числе и в подпрограмме DisplMess2:
Public V1 As Variant
Sub Pro20()
Dim R1 As Range
Set R1 = Worksheets(1).Range("A1")
R1.Value = 126
V1 = R1.Value
DisplMess2
End Sub
Sub DisplMess2()
MsgBox " Молярная масса нефти " & V1 & "г/моль в ячейку А1 введена"
End Sub
Результат работы этой подпрограммы будет такой же, как и на рис 2.14.
2.8.5. Передача данных по ссылке и по значению
Передача аргументов из одной программы в другую осуществляется двумя спо-
собами − по ссылке (by reference) и по значению (by value). В первом случае переда-
ется сама переменная, поэтому ее значение в подпрограмме можно изменить. Во
втором случае − только значение переменной, а не она сама, и изменить ее в вы-
званной подпрограмме нельзя.
Выбор способа передачи осуществляется ключевыми словами ByRef и ByVal,
которые в круглых скобках указываются в описании вызываемой подпрограммы.
При отсутствии в описании аргументов ключевых слов ByRef и ByVal передача осу-
ществляется по ссылке.
В подпрограмме Рro21 переменная UsN передается в подпрограмму
ChangeName по ссылке.
Sub Pro21()
Dim UsN As String
UsN = “Urals”
MsgBox “Была нефть марки “ & UsN
ChangeName UsN
MsgBox “Стала нефть марки “ & UsN
End Sub
Sub ChangeName(ByRef UsN)
UsN = “Brent”
End Sub
Страницы
- « первая
- ‹ предыдущая
- …
- 68
- 69
- 70
- 71
- 72
- …
- следующая ›
- последняя »
