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.

Nehmen wir an, Sie haben eine Benutzeroberfläche mit Text erstellt boxEs dient zur Annahme von Benutzereingabedaten. Sie können eine Unterroutine erstellen, die den Inhalt des Textes löscht boxes. In einem solchen Szenario ist eine VBA-Aufrufunterroutine geeignet, da Sie keine Ergebnisse zurückgeben möchten.

Warum Unterprogramme verwenden?

  • Teilen Sie den Code in kleinen, überschaubaren Code auf: Ein durchschnittliches Computerprogramm besteht aus Tausenden und Abertausenden von Quellcodezeilen. Dies stellt com vorplexität. Unterroutinen helfen, dieses Problem zu lösen, indem sie das Programm in kleine, überschaubare Codeblöcke zerlegen.
  • Wiederverwendbarkeit des Codes. Nehmen wir an, Sie haben ein Programm, das auf fast alle Datenbanken zugreifen muss windows im Programm müssen mit der Datenbank interagieren. Anstatt dafür separaten Code zu schreiben windowskönnen Sie eine Funktion erstellen, die alle Datenbankinteraktionen verarbeitet. Sie können es 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 dekliniertares zwei Parameter des String-Datentyps arg1 und arg2
  • "End Sub"
  • „End Sub“ wird verwendet, um den Hauptteil der Unterroutine zu beenden

Die folgendenwing Die Unterroutine akzeptiert den Vor- und Nachnamen und zeigt sie in einer Nachricht an box.

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 Folgendes festwing Eigenschaften. Die Eigenschaften, die wir festlegen:

S / N Control Immobilien 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 Folgendes hinzuwing Subroutine
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

HIER im Code,

Code Aktionen
  • „Private Sub displayFullName(…)“
  • Es dekliniertares eine private Unterroutine displayFullName, die zwei String-Parameter akzeptiert.
  • „ByVal Vorname als String, ByVal Nachname als String“
  • Es dekliniertares zwei Parametervariablen firstName und lastName
  • MsgBox Vorname Nachname"
  • Es nennt die MsgBox Integrierte Funktion zum Anzeigen einer Nachricht box. Anschließend werden die Variablen „firstName“ und „lastName“ 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, wie im Bild unten gezeigt. Wählen Sie Code anzeigen.
  • Der Code-Editor wird geöffnet

So rufen Sie Sub in VBA auf

Fügen Sie Folgendes hinzuwing Code im Code-Editor für das Klickereignis der Befehlsschaltfläche btnDisplayFullName.

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 Folgendeswing Ergebnisse

So rufen Sie Sub in VBA auf

Laden Sie den obigen Excel-Code herunter

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.