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.
- Wiederverwendbarkeit des Codes. 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 |
---|---|
|
|
|
|
|
|
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:
- Entwerfen Sie die Benutzeroberfläche und legen Sie die Eigenschaften für die Benutzersteuerelemente fest.
- Fügen Sie die Unterroutine hinzu
- Schreiben Sie den Klickereigniscode für die Befehlsschaltfläche, die die Unterroutine aufruft
- Testen Sie die Anwendung
Schritt 1) Benutzerschnittstelle
Gestalten Sie die Benutzeroberfläche wie im Bild unten gezeigt.
Legen Sie die folgenden Eigenschaften fest. Die Eigenschaften, die wir festlegen:
S / N | Kontrollieren | Immobilien | Wert |
---|---|---|---|
1 | Befehlsschaltfläche1 | Name | btnDisplayFullName |
2 | Bildunterschrift | Unterprogramm mit vollständigem Namen |
Ihre Oberfläche sollte nun wie folgt aussehen.
Schritt 2) Unterprogramm hinzufügen
- Drücken Sie Alt + F11, um das Codefenster zu öffnen
- 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 | Aktionen |
---|---|
|
|
|
|
|
|
Schritt 3) Aufruf des Unterprogramms
Aufrufen der Unterroutine über das Klickereignis der Befehlsschaltfläche.
- Klicken Sie mit der rechten Maustaste auf die Befehlsschaltfläche, wie im Bild unten gezeigt. Wählen Sie Code anzeigen.
- Der Code-Editor wird geöffnet
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
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.
Schritt 5) Klicken Sie auf die Befehlsschaltfläche „FullName Subroutine“.
Sie erhalten folgende Ergebnisse
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.