VBA Call Sub

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.

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.

Możesz pobrać ten szablon VBA Call Sub Excel tutaj - VBA Call Sub Excel Template

Kod:

 Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub 

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 „Code_1”.

Teraz uruchomię drugi kod, czyli „Code_2”.

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.

Wspomniałem o kodzie jako „Call Code_2” tylko w pierwszej podprocedurze. Teraz, aby zrozumieć, uruchommy kod linia po linii. Naciśnij klawisz F8, aby podświetlić nazwę makra.

Naciśnij klawisz F8 jeszcze raz, aby przejść do następnej linii.

Żółta linia pokazuje, że podświetlony kod ma zostać wykonany, jeśli jeszcze raz naciśniemy klawisz F8. Naciśnij teraz klawisz F8.

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ę.

Skoczył do wspomnianej nazwy podprocedury. Naciśnij ponownie klawisz F8.

Teraz podświetlona jest właściwa linia zadań, aby wykonać to, naciśnij klawisz F8 jeszcze raz.

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 podprocedury bez użycia słowa „Call”, ale wystarczy podać samą nazwę makra.
  • Nie jest to najlepsza praktyka, ponieważ jeśli podprocedura makro zawiera nawiasy, które chcesz wykonać, słowo „wywołanie” jest obowiązkowe.
  • Moim zdaniem zawsze używaj słowa „Zadzwoń”, ponieważ jest to tylko 4-literowe słowo, które pozwala innym poprawnie zrozumieć kod.