Acest tutorial vă va învăța cum să apelați o procedură secundară dintr-o altă procedură secundară în VBA
Este foarte util să scrieți cod care poate fi utilizat în mod repetat și apelat din mai multe subproceduri din proiectul dvs. - poate economisi o cantitate enormă de timp și face codul VBA mult mai eficient.
Rularea unei proceduri secundare dintr-o altă procedură secundară
Luați în considerare cele 3 proceduri secundare de mai jos:
1234 | Sub TestRoutine ()RunRoutine1RunRoutine2Sfârșitul Sub |
123 | Sub RunRoutine1 ()MsgBox „Bună dimineața”Sfârșitul Sub |
123 | Sub RunRoutine2 ()MsgBox „Data de astăzi este” & Format (Data, „mm / zz / aaaa”)Sfârșitul Sub |
Dacă rulăm procedura secundară - TestRoutine - va apela RunRoutine1 și RunRoutine2 și 2 vor apărea casete de mesaj.

Nu există nicio limită pentru numărul de proceduri secundare pe care le puteți apela dintr-o altă procedură secundară.
Utilizarea Declarației de apel
De asemenea, puteți utiliza Declarația de apel în fața numelui procedurii, pentru a vă ușura citirea codului. Cu toate acestea, nu are niciun efect asupra modului în care este rulat sau stocat codul.
1234 | Sub TestRoutine ()Apelați RunRoutine1Apelați RunRoutine2Sfârșitul Sub |

Apelarea unui Sub cu Argumente
De asemenea, este posibil să apelați un sub cu argumente
1234 | Sub TestRoutine ()RunRoutine1 („Melanie”)RunRoutine2 („O zi frumoasă”)Sfârșitul Sub |
123 | Sub RunRoutine1 (strName ca Șir)MsgBox „Bună dimineața” & „& strNameSfârșitul Sub |
123 | Sub RunRoutine2 (strMessage as String)MsgBox „Data de astăzi este” & Format (Data, „mm / zz / aaaa”) & VbCrLf & strMessageSfârșitul Sub |

Apelarea unui sub cu argumente numite
Dacă vă denumiți argumentele, nu trebuie să le transmiteți în aceeași ordine subrutinelor.
123 | Sub TestRoutine ()RunRoutine1 strGreeting: = "Ce mai faci?", StrName: = "Melanie"Sfârșitul Sub |
123 | Sub RunRoutine1 (strName ca Șir, strGreeting ca șirMsgBox „Bună dimineața” & „& strName & vbCrLf & strGreetingSfârșitul Sub |
