Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Передача параметров ByRef в Excel VBA


Рекомендуемые сообщения

Имеем надстройку с процедурой

Public Sub sub2(ByRef p1 As Integer)

p1 = 1

End Sub

в нее параметры передаются по адресу а не по значению.

Имеем книгу в макросом

Sub sub1()

Dim z As Integer

Call Run("sub2", z)

End Sub

которий вызывает процедуру с надстройки.

После выполнения строки Call Run("sub2", z)

значение z должно быть 1

но оно равно 0.

То-есть параметр почему-то передается по значению,

а мне нужно по адресу.

В чем проблема ?

Может быть в способе вызова процедуры через Run (иначе не умею) ?

Если sub2 будет в пределах модуля в котором sub1 то можно

вместо

Call Run("sub2", z)

написать

sub2 z

тогда все OK.

Но нужно именно в разных книгах!

Изменено пользователем yuriks
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...