Вызов / запуск подпрограммы VBA из другой подпрограммы

В этом руководстве вы узнаете, как вызвать подпроцедуру из другой подпроцедуры в VBA.

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

Запуск подпроцедуры из другой подпроцедуры

Рассмотрим 3 подпроцедуры ниже:

1234 Подпрограмма TestRoutine ()RunRoutine1RunRoutine2Конец подписки
123 Подпрограмма RunRoutine1 ()MsgBox "Доброе утро"Конец подписки
123 Подпрограмма RunRoutine2 ()MsgBox «Сегодняшняя дата» & Формат (Дата, «мм / дд / гггг»)Конец подписки

Если мы запустим подпроцедуру - TestRoutine - она ​​вызовет RunRoutine1 и RunRoutine2, и появятся 2 окна сообщений.

Нет ограничений на количество подпроцедур, которые вы можете вызывать из другой подпроцедуры.

Использование оператора вызова

Вы также можете использовать оператор вызова перед именем процедуры, чтобы облегчить чтение кода. Однако это никак не влияет на то, как код запускается или хранится.

1234 Подпрограмма TestRoutine ()Вызов RunRoutine1Вызов RunRoutine2Конец подписки

Вызов подпрограммы с аргументами

Также можно вызвать подпрограмму с аргументами

1234 Подпрограмма TestRoutine ()RunRoutine1 ("Мелани")RunRoutine2 («Хорошего дня»)Конец подписки
123 Sub RunRoutine1 (strName как строка)MsgBox "Доброе утро" & "& strNameКонец подписки
123 Sub RunRoutine2 (strMessage как строка)MsgBox «Сегодняшняя дата» & Формат (Дата, «мм / дд / гггг») & VbCrLf & strMessageКонец подписки

Вызов подпрограммы с именованными аргументами

Если вы называете свои аргументы, вам не нужно передавать их в том же порядке в подпрограммы.

123 Подпрограмма TestRoutine ()RunRoutine1 strGreeting: = "Как дела?", StrName: = "Мелани"Конец подписки
123 Sub RunRoutine1 (strName как String, strGreeting как строкаMsgBox "Доброе утро" & "& strName & vbCrLf & strGreetingКонец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave