Co to jest Call Sub w VBA?
Możemy wykonać wszystkie podprocedury tego samego modułu w jednym podprogramie, a proces ich wykonywania w jednym podprogramie VBA o nazwie „Call Sub”.
W niektórych przypadkach może być konieczne napisanie dużej ilości kodu, a zapisanie ich w jednym makrze stwarza wiele problemów podczas debugowania kodu. Na początku wszyscy robią to wyłącznie z powodu braku wiedzy na temat metody „Call Sub”.
Nie jest dobrą praktyką trzymanie wszystkich kodów w jednej podprocedurze. Musimy podzielić je na wiele podprocedur, aby uprościć kod.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba_.png.webp)
Jak wywołać podprogram w Excel VBA?
Uruchamianie makra programu Excel z jednej procedury do drugiej ułatwia życie wyłącznie na podstawie oszczędności czasu podczas uruchamiania, a także podczas debugowania kodu w przypadku jakiegokolwiek błędu.
Kod:
Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__2.png.webp)
Na powyższym obrazku mamy dwie podprocedury. Pierwszy to „Kod_1”, a drugi to „Kod_2”.
W pierwszym subkodzie wywołania VBA właśnie napisałem kod wstawiający wartość do komórki A1 jako „Hello”. W drugiej procedurze podrzędnej napisałem kod zmieniający kolor wnętrza komórki A1 na „rgbAquamarine”.
Teraz uruchomię pierwszy kod, czyli „Kod_1”.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba_.gif)
Teraz uruchomię drugi kod, czyli „Code_2”.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__2.gif)
Tutaj wykonałem czasy kodu.
Używając funkcji „call Sub” języka VBA, możemy wykonać obie podprocedury tylko w jednym makrze. Wystarczy dodać słowo „Call”, a po nim nazwę makra.
Spójrz na poniższy obrazek graficzny.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__3.png.webp)
Wspomniałem o kodzie jako „Call Code_2” tylko w pierwszej podprocedurze. Teraz, aby zrozumieć, uruchommy kod linia po linii. Naciśnij klawisz F8. Podświetli nazwę makra.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__4.png.webp)
Naciśnij klawisz F8 jeszcze raz, aby przejść do następnej linii.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__5.png.webp)
Żółta linia pokazuje, że podświetlony kod ma zostać wykonany, jeśli jeszcze raz naciśniemy klawisz F8. Naciśnij teraz klawisz F8.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__6.png.webp)
Jak widać, wstawił słowo „Hello” do komórki A1. Teraz linia „Call Code_2” została podświetlona.
Zadaniem „Call Code_2” jest zmiana koloru wnętrza komórki A1, a słowo „Call Code_2” wykona ten kod tylko z rzeczywistej procedury podrzędnej.
Ale naciśnij klawisz F8, aby zobaczyć magię.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__7.png.webp)
Skoczył do wspomnianej nazwy podprocedury. Naciśnij ponownie klawisz F8.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__8.png.webp)
Teraz podświetlona jest właściwa linia zadań, aby wykonać to, naciśnij klawisz F8 jeszcze raz.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__9.png.webp)
W ten sposób możemy wykonać wiele podprocedur z jednej podprocedury, wywołując podprocedurę po nazwie słowem „Call”.
Uwaga:
- Możemy wykonać makro innej procedury podrzędnej bez użycia słowa „Call”, ale po prostu podając samą nazwę makra.
- Nie jest to najlepsza praktyka, ponieważ jeśli podprocedura makra zawiera nawiasy, które chcesz wykonać, to słowo „Call” jest obowiązkowe.
- Moim zdaniem zawsze używaj słowa „Zadzwoń”, ponieważ jest to tylko czteroliterowe słowo, które pozwala innym poprawnie zrozumieć kod.