Excel VBA-Unterroutine: So rufen Sie Sub in VBA anhand eines Beispiels auf

Was ist eine Unterroutine in VBA?

A Unterprogramm in VBA ist ein Codeteil, der eine bestimmte, im Code beschriebene Aufgabe ausfรผhrt, aber kein Ergebnis oder Wert zurรผckgibt. Unterprogramme werden verwendet, um groรŸe Codeteile in kleine, รผberschaubare Teile zu zerlegen. Unterprogramme kรถnnen von รผberall im Programm mehrmals aufgerufen werden.

Angenommen, Sie haben eine Benutzeroberflรคche mit Textfeldern zum Akzeptieren von Benutzereingabedaten erstellt. Sie kรถnnen eine Subroutine erstellen, die den Inhalt der Textfelder lรถscht. Eine VBA-Aufrufsubroutine ist in einem solchen Szenario geeignet, da Sie keine Ergebnisse zurรผckgeben mรถchten.

Warum Unterprogramme verwenden?

  • Teilen Sie den Code in kleinen, รผberschaubaren Code auf: Ein durchschnittliches Computerprogramm hat Tausende und Abertausende von Quellcodezeilen. Dies fรผhrt zu Komplexitรคt. Unterprogramme helfen, dieses Problem zu lรถsen, indem sie das Programm in kleine, รผberschaubare Codeblรถcke aufteilen.
  • Code Wiederverwendbarkeit. Angenommen, Sie haben ein Programm, das auf die Datenbank zugreifen muss. Fast alle Fenster im Programm mรผssen mit der Datenbank interagieren. Anstatt separaten Code fรผr diese Fenster zu schreiben, kรถnnen Sie eine Funktion erstellen, die alle Datenbankinteraktionen verarbeitet. Sie kรถnnen diese dann von jedem beliebigen Fenster aus aufrufen.
  • Unterprogramme und Funktionen sind selbstdokumentierend. Nehmen wir an, Sie haben eine Funktion berechneLoanInterest und eine andere mit der Aufschrift connectToDatabase. Anhand des Namens der Unterroutine/Funktion kann der Programmierer erkennen, was das Programm tut.

Regeln fรผr die Benennung von Unterprogrammen und Funktionen

Um Unterprogramme und Funktionen verwenden zu kรถnnen, mรผssen bestimmte Regeln befolgt werden.

  • Der Name einer Unterroutine oder einer VBA-Aufruffunktion darf kein Leerzeichen enthalten
  • Ein Excel VBA Call Sub oder Funktionsname sollte mit einem Buchstaben oder einem Unterstrich beginnen. Es darf nicht mit einer Zahl oder einem Sonderzeichen beginnen
  • Ein Unterprogramm- oder Funktionsname darf kein Schlรผsselwort sein. Ein Schlรผsselwort ist ein Wort, das eine besondere Bedeutung hat VBA. Wรถrter wie โ€žPrivateโ€œ, โ€žSubโ€œ, โ€žFunctionโ€œ und โ€žEndโ€œ usw. sind Beispiele fรผr Schlรผsselwรถrter. Der Compiler verwendet sie fรผr bestimmte Aufgaben.

Syntax der VBA-Unterroutine

Sie mรผssen die Registerkarte โ€žEntwicklerโ€œ in Excel aktivieren, um diesem Beispiel folgen zu kรถnnen. Wenn Sie nicht wissen, wie Sie die Registerkarte โ€žEntwicklerโ€œ aktivieren, lesen Sie das Tutorial weiter VBA Operatoren

HIER in der Syntax,

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

Syntaxerklรคrung

Code Action
  • โ€žPrivate Sub mySubRoutine(โ€ฆ)โ€œ
  • Hier wird das Schlรผsselwort โ€žSubโ€œ verwendet, um eine Unterroutine mit dem Namen โ€žmySubRoutineโ€œ zu deklarieren und den Hauptteil der Unterroutine zu starten.
  • Das Schlรผsselwort Private wird verwendet, um den Umfang der Unterroutine anzugeben
  • โ€žByVal arg1 als String, ByVal arg2 als Stringโ€œ:
  • Es deklariert zwei Parameter vom String-Datentyp mit den Namen arg1 und arg2
  • "End Sub"
  • โ€žEnd Subโ€œ wird verwendet, um den Hauptteil der Unterroutine zu beenden

Die folgende Subroutine akzeptiert den Vor- und Nachnamen und zeigt diese in einem Meldungsfeld an.

Jetzt werden wir diese Unterprozedur programmieren und ausfรผhren. Sehen wir uns das an.

So rufen Sie Sub in VBA auf

Nachfolgend finden Sie eine Schritt-fรผr-Schritt-Anleitung zum Aufrufen von Sub in VBA:

  1. Entwerfen Sie die Benutzeroberflรคche und legen Sie die Eigenschaften fรผr die Benutzersteuerelemente fest.
  2. Fรผgen Sie die Unterroutine hinzu
  3. Schreiben Sie den Klickereigniscode fรผr die Befehlsschaltflรคche, die die Unterroutine aufruft
  4. Testen Sie die Anwendung

Schritt 1) Benutzerschnittstelle

Gestalten Sie die Benutzeroberflรคche wie im Bild unten gezeigt.

So rufen Sie Sub in VBA auf

Legen Sie die folgenden Eigenschaften fest. Die Eigenschaften, die wir festlegen:

S / N Kontrolle Eigenschaft Wert
1 Befehlsschaltflรคche1 Name btnDisplayFullName
2 Bildunterschrift Unterprogramm mit vollstรคndigem Namen


Ihre Oberflรคche sollte nun wie folgt aussehen.

So rufen Sie Sub in VBA auf

Schritt 2) Unterprogramm hinzufรผgen

  1. Drรผcken Sie Alt + F11, um das Codefenster zu รถffnen
  2. Fรผgen Sie die folgende Subroutine hinzu
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

HIER im Code,

Code Aktion
  • โ€žPrivate Sub displayFullName(โ€ฆ)โ€œ
  • Es deklariert eine private Subroutine displayFullName, die zwei String-Parameter akzeptiert.
  • โ€žByVal Vorname als String, ByVal Nachname als Stringโ€œ
  • Es deklariert zwei Parametervariablen firstName und lastName
  • MsgBox Vorname Nachname"
  • Es nennt die MsgBox integrierte Funktion zum Anzeigen eines Meldungsfelds. AnschlieรŸend werden die Variablen โ€žVornameโ€œ und โ€žNachnameโ€œ als Parameter รผbergeben.
  • Das kaufmรคnnische Und-Zeichen โ€ž&โ€œ wird verwendet, um die beiden Variablen zu verketten und ein Leerzeichen dazwischen einzufรผgen.

Schritt 3) Aufruf des Unterprogramms

Aufrufen der Unterroutine รผber das Klickereignis der Befehlsschaltflรคche.

  • Klicken Sie mit der rechten Maustaste auf die Befehlsschaltflรคche (siehe Abbildung unten). Wรคhlen Sie โ€žAnsichtโ€œ. Code.
  • Der Code-Editor wird geรถffnet

So rufen Sie Sub in VBA auf

Fรผgen Sie im Code-Editor den folgenden Code fรผr das Klickereignis der Befehlsschaltflรคche โ€žbtnDisplayFullNameโ€œ hinzu.

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

Ihr Codefenster sollte nun wie folgt aussehen

So rufen Sie Sub in VBA auf

Speichern Sie die ร„nderungen und schlieรŸen Sie das Codefenster.

Schritt 4) Testen des Codes

Deaktivieren Sie in der Entwicklersymbolleiste den Designmodus. Wie nachfolgend dargestellt.

So rufen Sie Sub in VBA auf

Schritt 5) Klicken Sie auf die Befehlsschaltflรคche โ€žFullName Subroutineโ€œ.

Sie erhalten folgende Ergebnisse

So rufen Sie Sub in VBA auf

Laden Sie die obige Excel-Datei herunter. Code

Zusammenfassung

  • Eine Unterroutine ist ein Codestรผck, das eine bestimmte Aufgabe ausfรผhrt. Eine Unterroutine gibt nach der Ausfรผhrung keinen Wert zurรผck
  • Unterroutinen bieten Wiederverwendbarkeit des Codes
  • Unterroutinen helfen dabei, groรŸe Codeblรถcke in kleinen, รผberschaubaren Code zu zerlegen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: