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.
![](https://cdn.easyexcel.net/8802756/vba_call_run_sub_from_another_subroutine.png)
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 |
![](https://cdn.easyexcel.net/8802756/vba_call_run_sub_from_another_subroutine_2.png)
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 |
![](https://cdn.easyexcel.net/8802756/vba_call_run_sub_from_another_subroutine_3.png)
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 |
![](https://cdn.easyexcel.net/8802756/vba_call_run_sub_from_another_subroutine_4.png)
Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii