Podprogram Excel VBA: Jak wywołać Sub w VBA z przykładem

Spisie treści:

Anonim

Co to jest podprogram w VBA?

Podprogram w VBA jest kawałek kodu, który wykonuje zadanie specyficzne opisane w kodzie, ale nie zwraca wynik lub wartość. Podprogramy służą do dzielenia dużych fragmentów kodu na małe, łatwe w zarządzaniu części. Podprogramy mogą być przywoływane wielokrotnie z dowolnego miejsca w programie.

Załóżmy, że utworzyłeś interfejs użytkownika z polami tekstowymi do akceptowania danych wejściowych użytkownika. Możesz utworzyć podprogram, który czyści zawartość pól tekstowych. Podprocedura wywołania VBA jest odpowiednia w takim scenariuszu, ponieważ nie chcesz zwracać żadnych wyników.

W tym samouczku VBA nauczysz się:

  • Dlaczego warto korzystać z podprogramów
  • Zasady nazewnictwa podprogramów i funkcji
  • Składnia podprogramu VBA
  • Jak zadzwonić do Sub w VBA

Dlaczego warto korzystać z podprogramów

  • Podziel kod na mały, możliwy do zarządzania kod : przeciętny program komputerowy ma tysiące linii kodu źródłowego. To wprowadza złożoność. Podprogramy pomagają rozwiązać ten problem, dzieląc program na małe, łatwe do zarządzania fragmenty kodu.
  • Możliwość ponownego wykorzystania kodu . Załóżmy, że masz program, który musi mieć dostęp do bazy danych, prawie wszystkie okna programu będą musiały współdziałać z bazą danych. Zamiast pisać oddzielny kod dla tych okien, możesz utworzyć funkcję, która obsługuje wszystkie interakcje z bazą danych. Następnie możesz zadzwonić do niego z dowolnego okna.
  • Podprogramy i funkcje samodokumentują się . Powiedzmy, że masz funkcję calculatorLoanInterest i inną, która mówi connectToDatabase. Wystarczy spojrzeć na nazwę podprogramu / funkcji, aby programista mógł powiedzieć, co robi program.

Zasady nazewnictwa podprogramów i funkcji

Aby korzystać z podprogramów i funkcji, istnieje zestaw reguł, których należy przestrzegać.

  • Nazwa podprogramu lub funkcji wywołania VBA nie może zawierać spacji
  • Nazwa funkcji lub funkcji wywołania VBA w programie Excel powinna zaczynać się od litery lub podkreślenia. Nie może zaczynać się cyfrą ani znakiem specjalnym
  • Nazwa podprogramu lub funkcji nie może być słowem kluczowym. Słowo kluczowe to słowo, które ma specjalne znaczenie w języku VBA. Słowa takie jak prywatne, podrzędne, funkcja i koniec itp. Są przykładami słów kluczowych. Kompilator używa ich do określonych zadań.

Składnia podprogramu VBA

Będziesz musiał włączyć kartę Deweloper w programie Excel, aby postępować zgodnie z tym przykładem. Jeśli nie wiesz, jak włączyć kartę Deweloper, przeczytaj samouczek dotyczący operatorów VBA

TUTAJ w składni,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)'do somethingEnd Sub

Objaśnienie składni

Kod

Akcja

  • „Private Sub mySubRoutine (…)”
  • Tutaj słowo kluczowe „Sub” jest używane do zadeklarowania podprogramu o nazwie „mySubRoutine” i uruchomienia treści podprogramu.
  • Do określenia zakresu procedury jest używane słowo kluczowe Private
  • „ByVal arg1 As String, ByVal arg2 As String”:
  • Deklaruje dwa parametry typu danych łańcuchowych o nazwach arg1 i arg2
  • "Napis końcowy"
  • „End Sub” służy do zakończenia treści podprogramu

Następujący podprogram akceptuje imię i nazwisko oraz wyświetla je w oknie komunikatu.

Teraz mamy zamiar zaprogramować i wykonać tę procedurę podrzędną. Zobaczmy to.

Jak zadzwonić do Sub w VBA

Poniżej znajduje się krok po kroku, jak wywołać Sub w VBA:

  1. Zaprojektuj interfejs użytkownika i ustaw właściwości kontrolek użytkownika.
  2. Dodaj podprogram
  3. Napisz kod zdarzenia kliknięcia dla przycisku polecenia, który wywołuje podprogram
  4. Przetestuj aplikację

Krok 1) Interfejs użytkownika

Zaprojektuj interfejs użytkownika, jak pokazano na poniższym obrazku

Ustaw następujące właściwości. Właściwości, które ustalamy

S / N Kontrola własność Wartość
1 CommandButton1 Nazwa btnDisplayFullName
2 Podpis Pełna nazwa podprogramu

Twój interfejs powinien teraz wyglądać następująco

Krok 2) Dodaj podprogram

  1. Naciśnij klawisze Alt + F11, aby otworzyć okno kodu
  2. Dodaj następujący podprogram
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

TUTAJ w kodzie,

Kod

działania

  • „Private Sub displayFullName (…)”
  • Deklaruje prywatną podprocedurę displayFullName, która akceptuje dwa parametry łańcuchowe.
  • „ByVal firstName As String, ByVal lastName As String”
  • Deklaruje dwie zmienne parametryczne firstName i lastName
  • MsgBox firstName & „„ & lastName ”
  • Wywołuje wbudowaną funkcję MsgBox, aby wyświetlić okno komunikatu. Następnie przekazuje zmienne „firstName” i „lastName” jako parametry.
  • Znak ampersand „&” służy do łączenia dwóch zmiennych i dodania między nimi pustej spacji.

Krok 3) Wywołanie podprogramu ze zdarzenia kliknięcia przycisku polecenia.

  • Kliknij prawym przyciskiem myszy przycisk polecenia, jak pokazano na poniższym obrazku. Wybierz Wyświetl kod.
  • Otworzy się edytor kodu

Dodaj następujący kod w edytorze kodu dla zdarzenia kliknięcia przycisku polecenia btnDisplayFullName.

Private Sub btnDisplayFullName_Click()displayFullName "John", "Doe"End Sub

Twoje okno kodu powinno teraz wyglądać następująco

Zapisz zmiany i zamknij okno kodu.

Krok 4) Testowanie kodu

Na pasku narzędzi programisty wyłącz tryb projektowania. Jak pokazano niżej.

Krok 5) Kliknij przycisk polecenia „FullName Subroutine”.

Otrzymasz następujące wyniki

Pobierz powyższy kod programu Excel

Podsumowanie:

  • Podprogram to fragment kodu, który wykonuje określone zadanie. Podprogram nie zwraca wartości po wykonaniu
  • Podprogramy oferują możliwość ponownego wykorzystania kodu
  • Podprogramy pomagają rozbić duże fragmenty kodu na mały, łatwy w zarządzaniu kod.