VBA Call / Run Sub От друга подпрограма

Този урок ще ви научи как да извиквате подпроцедура от друга подпроцедура във VBA

Много е полезно да пишете код, който може да се използва многократно и да се извиква от множество подпроцедури във вашия проект - той може да спести огромно количество време и да направи VBA кода далеч по -ефективен.

Изпълнение на подпроцедура от друга подпроцедура

Помислете за 3 подпроцедури по -долу:

1234 Sub TestRoutine ()RunRoutine1RunRoutine2End Sub
123 Sub RunRoutine1 ()MsgBox "Добро утро"End Sub
123 Sub RunRoutine2 ()MsgBox "Днешната дата е" & Формат (Дата, "mm/dd/yyyy")End Sub

Ако изпълним подпроцедурата - TestRoutine - тя ще извика RunRoutine1 и RunRoutine2 и ще се появят 2 кутии за съобщения.

Няма ограничение за броя на подпроцедурите, които можете да извикате от друга подпроцедура.

Използване на декларацията за повикване

Можете също да използвате Изявлението за повикване пред името на процедурата, за да улесните четенето на кода. Това обаче няма никакъв ефект върху начина, по който кодът се изпълнява или съхранява.

1234 Sub TestRoutine ()Обадете се на RunRoutine1Обадете се на RunRoutine2End Sub

Обаждане на Sub с аргументи

Възможно е също така да се извика под с аргументи

1234 Sub TestRoutine ()RunRoutine1 ("Мелани")RunRoutine2 ("Прекрасен ден")End Sub
123 Sub RunRoutine1 (strName като String)MsgBox "Добро утро" & "& strNameEnd Sub
123 Sub RunRoutine2 (strMessage като String)MsgBox "Днешната дата е" & Format (Date, "mm/dd/yyyy") & VbCrLf & strMessageEnd Sub

Извикване на подводница с именовани аргументи

Ако назовавате аргументите си, не е нужно да ги предавате в същия ред на подпрограмите си.

123 Sub TestRoutine ()RunRoutine1 strGreeting: = "Как си?", StrName: = "Мелани"End Sub
123 Sub RunRoutine1 (strName като String, strGreeting като низMsgBox "Добро утро" & "& strName & vbCrLf & strGreetingEnd Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave