Wprowadzenie do Excel VBA Call Sub

W VBA mamy funkcję CALL, która służy do wywoływania wartości przechowywanych w innej podkategorii lub procedurze Sub. Załóżmy, że napisaliśmy kod gdzieś w skoroszycie, teraz pisząc inny kod, potrzebujemy tego samego kodu napisanego wcześniej. Zamiast więc ponownie pisać ten sam kod, możemy wywołać ten kompletny kod lub procedurę Sub w bieżącej procedurze podkategorii lub Sub. Dzięki temu można uniknąć powtarzania tej samej czynności skoroszytu.

Jak wywołać Sub w Excel VBA?

Poniżej znajdują się różne przykłady wywoływania Sub w Excel VBA:

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

Excel VBA Call Sub - Przykład nr 1

Najpierw zobaczmy jeden przykład, w którym WYWOŁAMY już napisaną podkategorię lub procedurę. Do tego potrzebny jest moduł.

Przejdź do okna VBA i w opcji menu Wstaw kliknij Moduł, jak pokazano poniżej.

Następnie otrzymamy pustą stronę lub okno modułu. Teraz w tym napisz podkategorię kodu, który wykonujemy lub pod dowolną inną nazwą, jak pokazano poniżej.

Kod:

 Sub Calling () End Sub 

Teraz użyj polecenia w polu wiadomości i wpisz dowolny tekst lub słowo, które chcesz zobaczyć w polu wiadomości. Tutaj używamy „ Pierwszy ”, jak pokazano poniżej.

Kod:

 Sub Calling () MsgBox („First”) End Sub 

Teraz skompiluj kod i uruchom go, klikając przycisk Odtwórz znajdujący się pod paskiem menu. Zobaczysz okno komunikatu zawierające komunikat „ Pierwszy ”, jak pokazano poniżej.

Teraz po zakończeniu w tym samym module, napisz inną podkategorię lub procedurę o dowolnej nazwie, jak pokazano poniżej.

Kod:

 Sub przybywa () End Sub 

W tym celu ponownie użyj polecenia MsgBox i podaj mu wiadomość lub tekst zgodnie z twoim wyborem. Tutaj daliśmy mu „ drugi ”, jak pokazano poniżej.

Kod:

 Sub Arriving () MsgBox („Second”) End Sub 

Teraz, jeśli uruchomimy pełny kod, otrzymamy wynik tylko ostatniej podkategorii, która jest oknem komunikatu zawierającym komunikat „ Drugi ”, jak pokazano poniżej.

Nadchodzi funkcja CALL, której będziemy używać do wywoływania obu wiadomości jeden po drugim. Zostanie to wykorzystane w pierwszej podkategorii.

W przypadku tego typu wywołaj pierwszą podkategorię przed końcem, a następnie nazwę tej podkategorii, której kod chcemy wywołać. Odtąd MsgBox używamy Call, a następnie Arriving, który jest nazwą podkategorii kodu napisanego poniżej.

Kod:

 Sub Calling () MsgBox („First”) Wywołanie Przybywa End Sub Sub przybywa () MsgBox („Second”) End Sub 

Teraz skompiluj cały kod od początku do końca i uruchom go. Zobaczysz okno komunikatu o nazwie „Pierwszy”. Teraz kliknij OK, aby przejść dalej. Gdy to zrobimy, otrzymamy drugie okno komunikatu zawierające komunikat „ Drugi ”, jak pokazano poniżej. A jeśli ponownie klikniesz OK, to wyjdzie z procedury.

Co jeśli zmienimy pozycję funkcji Call z przed End na po pierwszej podkategorii, jak pokazano poniżej? Teraz uruchommy ponownie cały kod.

Kod:

 Sub Calling () Wywołanie Przybycie MsgBox („Pierwsze”) End Sub Sub Przybycie () MsgBox („Second”) End Sub 

Najpierw wyświetli się komunikat zapisany w drugim podprocedurze, którym jest „ Drugi ”, a następnie komunikat „ Pierwszy ”, gdy klikniemy OK, jak pokazano poniżej.

Wszystko zależy od nas, do której procedury podrzędnej lub kategorii chcemy zadzwonić w pierwszej kolejności.

Excel VBA Call Sub - Przykład nr 2

Zobaczmy inny przykład, w którym użyjemy funkcji Call do wywołania innej podkategorii. W tym celu potrzebujemy nowego modułu. Otwórz moduł z menu Wstaw. I daje podkategorię pod dowolną nazwą, jak pokazano poniżej.

Kod:

 Sub VBACall () End Sub 

Zdefiniuj 3 zmienne Num1, Num2 i Ans1 w DIM i przypisz następnie za pomocą Long . Możemy również użyć Integer lub Double, w zależności od zastosowania. Długi pozwoli nam rozważyć dowolną długość numeru.

Kod:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans 1 As Long End Sub 

Teraz podaj Num1 i Num2 dowolną liczbę do wyboru. Daliśmy im odpowiednio 100 i 50 . Uwzględnienie 100 i 50 pomoże nam szybko zidentyfikować wyniki.

Kod:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 End Sub 

Teraz użyj formuły mnożenia, aby pomnożyć magazyny liczb w Num1 i Num2 i zapisać ich odpowiedź w zmiennej Ans1, jak pokazano poniżej.

Kod:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

W następnym wierszu kodu użyjemy obiektu VBA. W tym celu wybierz arkusz za pomocą polecenia Arkusz roboczy i nadaj mu zakres dowolnej komórki. Wybraliśmy komórkę zakresu jako B1. I w końcu wydrukuj wynik o dowolnej nazwie, takiej jak Wynik lub Odpowiedź, jak pokazano poniżej.

Kod:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Arkusze robocze (1). Range („B1”). Wartość = „Answer” End Sub 

Podaj teraz lokalizację, w której chcemy zobaczyć odpowiedź w taki sam sposób, jak pokazano powyżej. Tutaj wybieramy komórkę C1 jako komórkę wyjściową i umieszczamy tutaj ostatnią zmienną Ans1 .

Kod:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Arkusze robocze (1). Range („B1”). Wartość = „Answer” Arkusze robocze (1). („C1”). Wartość = Ans1 End Sub 

Teraz uruchom kod. W komórce C1 zobaczymy wynik mnożenia.

Pisanie kolejnej podkategorii poniżej tego samego kodu po zakończeniu.

Kod:

 Sub VBACall2 () End Sub 

Ponownie zdefiniuj 3 zmienne Num3, Num4 i Ans2 w DIM i przypisz następnie za pomocą Long.

Kod:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long End Sub 

Nadaj Num3 i Num4 te same wartości, jak 100 i 50, i dodaj obie liczby.

Kod:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Teraz użyj VBA Object w podobny sposób jak powyżej i podaj komórkę zakresu jako B2 dla Answer i C2 dla wyjścia Ans2 .

Kod:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Arkusze robocze (1). Range („B2”). Value = „Answer” Arkusze robocze (1). („C2”). Wartość = Ans2 End Sub 

Aby wywołać oba wyniki jeden po drugim, użyj funkcji Call, która nadaje mu nazwę drugiej podkategorii, jak pokazano poniżej.

Kod:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Arkusze robocze (1). Range („B1”). Wartość = „Answer” Arkusze robocze (1). („C1”). Wartość = wywołanie Ans1 VBACall2 End Sub Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Arkusze robocze (1). Range („B2” ) .Value = „Answer” Arkusze (1) .Range („C2”). Wartość = Ans2 End Sub 

Teraz skompiluj cały kod i uruchom. Będziemy pierwsi w komórce C2, otrzymaliśmy wynik mnożenia, a w komórce C3 wynik dodania.

Aby poznać prawidłową sekwencję, możemy użyć komendy MsgBox, jak w przykładzie 1 i zobaczyć, które wartości wywoływane w jakiej sekwencji.

Plusy Excel VBA Call Sub

  • Subwoofer VBA oszczędza czas, pisząc ten sam kod wielokrotnie.
  • Wywołanie magazynu podprogramów VBA w tym samym programie Excel również zmniejsza rozmiar pliku programu Excel.

Rzeczy do zapamiętania

  • Użyj okna komunikatu do celów testowych, aby zobaczyć sekwencyjny przebieg wielu kodów.
  • Skompiluj większe wiersze kodu, naciskając klawisz F8, aby można było zidentyfikować część błędu.
  • Zapisz plik w makrze Włącz format Excel, aby zachować zapisany kod.
  • Użycie CALL przed końcem uruchomi pierwszy kod jako pierwszy, a po pierwszym Subprocedure uruchomi najpierw drugi kod.

Polecane artykuły

To jest przewodnik po VBA Call Sub. Tutaj omawiamy, jak wywołać Sub w Excel VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. VBA Do Until Loop
  2. SUBTOTAL Formula w Excelu
  3. VBA While Loop
  4. Funkcja Excel podciągu

Kategoria: