Передача аргументов между процедурами

свойство module.exports или объект экспорта позволяет модулю выбирать, что должно быть совместно использовано с приложением

enter image description here [/g1]

У меня есть видео на Доступен модуль_экспорт здесь

0
задан Darren Bartrup-Cook 13 July 2018 в 12:52
поделиться

1 ответ

У VBA нет точек с запятой, поэтому вам нужно их удалить. На самом деле это единственная синтаксическая ошибка в вашем коде. Остальные - это просто функциональность.

Dim v1,v2,v3 as Integer только делает v3 целочисленным. Вам нужно повторить тип данных для каждой переменной.

Наконец, если вы хотите, чтобы дочерний субредактировал переменную, вам понадобится ключевое слово ByRef. Вы использовали его на c2 и c3, но не на c1

Sub Parent_sub()
Dim v1 As Integer,v2 As Integer,v3 as Integer

v1 = 0
v2 = -1
v3 = -2
  Child_sub v1, v2, v3
msgbox "the variables are " & v1 & " ," & v2 & ", and " & v3
End Sub

Sub Child_sub(ByRef c1 as Integer, ByRef c2 as Integer, ByRef c3 as 
Integer)

c1 = 3
c2 = 4
c3 = 5

End Sub
0
ответ дан pawrick 17 August 2018 в 12:59
поделиться
  • 1
    Большое спасибо. Для будущего использования; Я уже редактировал свой код и удалял запятые после v1 = 0; и т. д., прежде чем я увижу ответ выше, в случае, если кто-то задается вопросом. – nikopkat 13 July 2018 в 12:14
  • 2
    просто сказать, что ByRef является режимом по умолчанию в VBA, поэтому вы можете просто написать Sub Child_sub(c1 as Integer, c2 as Integer, c3 as Integer) – DisplayName 13 July 2018 в 12:51
Другие вопросы по тегам:

Похожие вопросы: