Страницы: 1
RSS
вызываемая процедура с параметром меняет значение переменной в главной
 
Здравствуйте.
Собственно проблема в названии.
При выполнении например такого макроса
Код
Sub test()
    lr = 2
    Call subtest(lr)
    MsgBox (lr)
End Sub

Sub subtest(lr)
    lr = 3
End Sub

в сообщении будет 3, а не 2, как я ожидал.
Это так и должно быть? Я почему то думал, что lr subtest'a и lr test'a - это две разные переменные, пусть и с одинаковыми именами.
 
Передайте переменную не по ссылке, а по значению. Т.е.
Код
Sub subtest(ByVal lr As Long)
    lr = 3
End Sub
Да, это так и должно быть. Почитайте про ByRef и ByVal
Изменено: Михаил Лебедев - 30.10.2019 04:52:06
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Тю, ночью уже башка совсем не варит)
Спасибо)
 
Цитата
Dima S написал:
Тю, ночью уже башка совсем не варит)
У нас утро, 10-й час ☺
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Страницы: 1
Наверх