Ten samouczek nauczy Cię, jak wywołać procedurę podrzędną z innej procedury podrzędnej w VBA
Bardzo przydatne jest pisanie kodu, który może być używany wielokrotnie i wywoływany z wielu podprocedur w projekcie - może to zaoszczędzić ogromną ilość czasu i sprawić, że kod VBA będzie znacznie bardziej wydajny.
Uruchamianie procedury Sub z innej procedury Sub
Rozważ 3 podprocedury poniżej:
1234 | Podprogram testowy()RunRutyna1RunRutyna2Napis końcowy |
123 | Podrzędna procedura uruchomienia1()MsgBox "Dzień dobry"Napis końcowy |
123 | Podrzędna procedura uruchamiania2()MsgBox "Dzisiejsza data to " & Format(Date, "mm/dd/rrrr")Napis końcowy |
Jeśli uruchomimy procedurę podrzędną - TestRoutine - wywoła ona RunRoutine1 i RunRoutine2 i pojawią się 2 okna wiadomości.

Nie ma ograniczeń co do liczby Procedur Podrzędnych, do których można zadzwonić z innej Procedury Podrzędnej.
Korzystanie z instrukcji połączenia
Możesz również użyć instrukcji Call przed nazwą procedury, aby kod był łatwiejszy do odczytania. Jednak nie ma to żadnego wpływu na sposób uruchamiania lub przechowywania kodu.
1234 | Podprogram testowy()Zadzwoń do RunRoutine1Zadzwoń do RunRoutine2Napis końcowy |

Wywołanie Sub z argumentami
Możliwe jest również wywołanie sub z argumentami
1234 | Podprogram testowy()RunRoutine1 („Melanie”)RunRoutine2 („Miłego dnia”)Napis końcowy |
123 | Sub RunRoutine1 (strName jako ciąg)MsgBox "Dzień dobry " & " & strNameNapis końcowy |
123 | Sub RunRoutine2(strMessage as String )MsgBox "Dzisiejsza data to " & Format(Date, "mm/dd/rrrr") & VbCrLf & strMessageNapis końcowy |

Wywołanie Sub z nazwanymi argumentami
Jeśli wymienisz swoje argumenty, nie musisz przekazywać ich w tej samej kolejności do swoich podprogramów.
123 | Podprogram testowy()RunRoutine1 strGreeting:="Jak się masz?", strName:="Melanie"Napis końcowy |
123 | Sub RunRoutine1(strName as String, strGreeting as stringMsgBox "Dzień dobry " & " & strName & vbCrLf & strGreetingNapis końcowy |
