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

Co to jest podprogram w VBA?

A Podprogram w VBA to fragment kodu, który wykonuje określone zadanie opisane w kodzie, ale nie zwraca wyniku ani wartości. Podprogramy służą do dzielenia dużych fragmentów kodu na małe, łatwe do zarządzania części. Podprogramy można przywoływać 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ć podprocedurę, która czyści zawartość pól tekstowych. Podprocedura wywołania VBA jest odpowiednia w takim scenariuszu, ponieważ nie chcesz zwracać żadnych wyników.

Po co używać podprogramów

  • Podziel kod na mały, łatwy do zarządzania kod: Przeciętny program komputerowy ma tysiące i 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 opanowania fragmenty kodu.
  • Możliwość ponownego wykorzystania kodu. Załóżmy, że masz program, który potrzebuje dostępu do bazy danych, prawie wszystkie okna w programie będą musiały wchodzić w interakcję 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 ją wywołać z dowolnego okna, które chcesz.
  • Podprogramy i funkcje są samodokumentujące. Załóżmy, że masz funkcję obliczLoanInterest i inną funkcję connectToDatabase. Wystarczy spojrzeć na nazwę podprogramu/funkcji, a programista będzie w stanie stwierdzić, co robi program.

Zasady nazewnictwa podprogramów i funkcji

Aby korzystać z podprogramów i funkcji, należy przestrzegać zestawu zasad.

  • Nazwa podprogramu lub funkcji wywołania VBA nie może zawierać spacji
  • Nazwa podrzędna wywołania Excel VBA lub nazwa funkcji powinna zaczynać się od litery lub znaku podkreślenia. Nie może zaczynać się od cyfry ani znaku specjalnego
  • Nazwa podprogramu lub funkcji nie może być słowem kluczowym. Słowo kluczowe to słowo, które ma specjalne znaczenie w VBA. Słowa takie jak Private, Sub, Function i End itp. są przykładami słów kluczowych. Kompilator używa ich do określonych zadań.

Składnia podprogramu VBA

Aby skorzystać z tego przykładu, musisz włączyć kartę Deweloper w programie Excel. Jeśli nie wiesz, jak włączyć kartę Deweloper, przeczytaj samouczek dalej VBA Operatorsy

TUTAJ w składni,

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

Wyjaśnienie składni

Code Działania
  • „Prywatna subskrypcja mySubRoutine(…)”
  • Tutaj słowo kluczowe „Sub” służy do zadeklarowania podprogramu o nazwie „mySubRoutine” i uruchomienia treści podprogramu.
  • Słowo kluczowe Private służy do określenia zakresu podprogramu
  • „ByVal arg1 jako ciąg znaków, ByVal arg2 jako ciąg znaków”:
  • 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

Poniższa podprocedura przyjmuje imię i nazwisko i wyświetla je w oknie komunikatu.

Teraz zaprogramujemy i wykonamy tę podprocedurę. Zobaczmy to.

Jak wywołać Sub w VBA

Poniżej znajduje się krok po kroku proces wywoływania Sub w VBA:

  1. Zaprojektuj interfejs użytkownika i ustaw właściwości kontrolek użytkownika.
  2. Dodaj podprogram
  3. Zapisz kod zdarzenia kliknięcia dla przycisku polecenia wywołującego podprogram
  4. Przetestuj aplikację

Krok 1) Interfejs użytkownika

Zaprojektuj interfejs użytkownika, jak pokazano na obrazku poniżej.

Jak wywołać Sub w VBA

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

S / N Control: Nieruchomość wartość
1 Przycisk Polecenia1 Imię btnDisplayFullName
2 Podpis Pełna nazwa Podprogram


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

Jak wywołać Sub w VBA

Krok 2) Dodaj podprogram

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

TUTAJ w kodzie,

Code Akcje
  • „Prywatny wyświetlacz dodatkowyFullName(…)”
  • Deklaruje prywatną podprocedurę displayFullName, która akceptuje dwa parametry łańcuchowe.
  • „ByVal imię jako ciąg znaków, ByVal nazwisko jako ciąg znaków”
  • Deklaruje dwie zmienne parametryczne: firstName i lastName
  • msgBox imię Nazwisko"
  • Wzywa MsgBox wbudowana funkcja do wyświetlania okna wiadomości. Następnie przekazuje zmienne 'firstName' i 'lastName' jako parametry.
  • Znak ampersand „&” służy do łączenia dwóch zmiennych i dodawania między nimi pustej spacji.

Krok 3) Wywołanie podprogramu

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

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

Jak wywołać Sub w VBA

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

Jak wywołać Sub w VBA

Zapisz zmiany i zamknij okno kodu.

Krok 4) Testowanie kodu

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

Jak wywołać Sub w VBA

Krok 5) Kliknij przycisk polecenia „Podprogram o pełnej nazwie”.

Otrzymasz następujące wyniki

Jak wywołać Sub w VBA

Pobierz powyższy kod Excela

Podsumowanie

  • Podprogram to fragment kodu wykonujący określone zadanie. Podprogram nie zwraca wartości po wykonaniu
  • Podprogramy umożliwiają ponowne wykorzystanie kodu
  • Podprogramy pomagają rozbić duże fragmenty kodu na mały, łatwy do zarządzania kod.