ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.03.2025
Просмотров: 192
Скачиваний: 1
'Результат записывается в исходный диапазон A1:C2
Change Worksheets(4).Range("A1:C2")
'Замена отрицательных чисел диапазона A1:C2 на числа из диапазона E1:G2
'Результат записывается в исходный диапазон A1:C2
Change Worksheets(4).Range("A1:C2"), Worksheets(4).Range("E1:G2")
'Замена отрицательных чисел диапазона A1:C2 на числа из диапазона E1:G2
'Результат записывается в диапазон I1:K2
Change Worksheets(4).Range("A1:C2"), Worksheets(4).Range("E1:G2"), _ Worksheets(4).Range("I1:K2")
'Замена отрицательных чисел диапазона A1:C2 на их модули
'Результат записывается в диапазон I1:K2
Change Worksheets(4).Range("A1:C2"), , Worksheets(4).Range("I1:K2")
'Явное указание имён параметров – данный вызов процедуры аналогичен предыдущему
Change dest:=Worksheets(4).Range("I1:K2"), source:=Worksheets(4).Range("A1:C2")
Передача параметров по значению и по ссылке
В списке формальных параметров перед описанием параметра может быть указано одно из ключевых слов ByValилиByRef. Эти ключевые слова задают способ передачи параметра – по значению или по ссылке.
Передача параметра по значениюозначает передачу подпрограмме копии фактического параметра. Таким образом, переменная, являющаяся фактическим параметром, не изменяется, даже если подпрограмма производит какие-либо действия с данным параметром.
Передача параметра по ссылкеозначает, что переменная, являющаяся фактическим параметром, может быть изменена инструкциями подпрограммы.
Public Sub ParameterByValue(ByVal x As Integer)
x = x * 10
End Sub
Public Sub ParameterByReference(ByRef x As Integer)
x = x * 10
End Sub
Dim n As Integer
n = 8
ParameterByValue n 'n = 8
ParameterByReference n 'n = 80
В языке VBA по умолчанию используется способ передачи «по ссылке», что, вообще-то, опасно, т.к. может привести к нежелательному изменению переменных.