Excel VBA-Subroutine: Aufrufen von Sub in VBA anhand eines Beispiels

Inhaltsverzeichnis:

Anonim

Was ist ein Unterprogramm in VBA?

Eine Unterroutine in VBA ist ein Code, der eine bestimmte im Code beschriebene Aufgabe ausführt, jedoch kein Ergebnis oder keinen Wert zurückgibt. Unterprogramme werden verwendet, um große Codeteile in kleine verwaltbare Teile zu zerlegen. Unterprogramme können von überall im Programm mehrmals abgerufen werden.

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

In diesem VBA-Tutorial lernen Sie:

  • Warum Unterprogramme verwenden?
  • Regeln für die Benennung von Unterprogrammen und Funktionen
  • VBA-Subroutinensyntax
  • So rufen Sie Sub in VBA auf

Warum Unterprogramme verwenden?

  • Teilen Sie Code in kleinen verwaltbaren Code auf : Ein durchschnittliches Computerprogramm verfügt über 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 Codestü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 es dann von jedem beliebigen Fenster aus aufrufen.
  • Unterprogramme und Funktionen sind selbstdokumentierend . Angenommen, Sie haben eine Funktion berechneLoanInterest und eine andere, die connectToDatabase sagt. Durch einfaches Betrachten des Namens des Unterprogramms / der Funktion kann der Programmierer erkennen, was das Programm tut.

Regeln für die Benennung von Unterprogrammen und Funktionen

Um Unterprogramme und Funktionen zu verwenden, müssen einige Regeln befolgt werden.

  • Ein Unterprogramm- oder VBA-Aufruffunktionsname darf kein Leerzeichen enthalten
  • Ein Excel VBA Call Sub oder Funktionsname sollte mit einem Buchstaben oder einem Unterstrich beginnen. Es kann nicht mit einer Zahl oder einem Sonderzeichen beginnen
  • Eine Unterroutine oder ein Funktionsname kann kein Schlüsselwort sein. Ein Schlüsselwort ist ein Wort, das in VBA eine besondere Bedeutung hat. Wörter wie Private, Sub, Function und End usw. sind Beispiele für Schlüsselwörter. Der Compiler verwendet sie für bestimmte Aufgaben.

VBA-Subroutinensyntax

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 können, lesen Sie das Lernprogramm zu VBA-Operatoren

HIER in der Syntax,

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

Erklärung der Syntax

Code

Aktion

  • "Private Sub mySubRoutine (…)"
  • Hier wird das Schlüsselwort "Sub" verwendet, um eine Subroutine mit dem Namen "mySubRoutine" zu deklarieren und den Hauptteil der Subroutine zu starten.
  • Das Schlüsselwort Private wird verwendet, um den Umfang des Unterprogramms anzugeben
  • "ByVal arg1 als String, ByVal arg2 als String":
  • Es deklariert zwei Parameter des String-Datentyps arg1 und arg2
  • "End Sub"
  • "End Sub" wird verwendet, um den Hauptteil des Unterprogramms zu beenden

Die folgende Unterroutine akzeptiert den Vor- und Nachnamen und zeigt sie in einem Meldungsfeld an.

Jetzt werden wir diese Unterprozedur programmieren und ausführen. Mal sehen.

So rufen Sie Sub in VBA auf

Im Folgenden finden Sie eine schrittweise 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 das Unterprogramm hinzu
  3. Schreiben Sie den Klickereigniscode für die Befehlsschaltfläche, die das Unterprogramm aufruft
  4. Testen Sie die Anwendung

Schritt 1) Benutzeroberfläche

Entwerfen Sie die Benutzeroberfläche wie in der Abbildung unten gezeigt

Legen Sie die folgenden Eigenschaften fest. Die Eigenschaften, die wir einstellen

S / N. Steuerung Eigentum Wert
1 CommandButton1 Name btnDisplayFullName
2 Bildbeschriftung Vollständiges Unterprogramm

Ihre Benutzeroberfläche sollte nun wie folgt aussehen

Schritt 2) Unterprogramm hinzufügen

  1. Drücken Sie Alt + F11, um das Codefenster zu öffnen
  2. Fügen Sie das folgende Unterprogramm hinzu
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

HIER im Code,

Code

Aktionen

  • "Private Sub displayFullName (…)"
  • Es deklariert eine private Unterroutine displayFullName, die zwei Zeichenfolgenparameter akzeptiert.
  • "ByVal Vorname als Zeichenfolge, ByVal Nachname als Zeichenfolge"
  • Es deklariert zwei Parametervariablen Vorname und Nachname
  • MsgBox Vorname & "" & Nachname "
  • Es ruft die integrierte MsgBox-Funktion auf, um ein Meldungsfeld anzuzeigen. Anschließend werden die Variablen 'firstName' und 'lastName' als Parameter übergeben.
  • Das kaufmännische Und "&" wird verwendet, um die beiden Variablen zu verketten und einen leeren Raum zwischen ihnen einzufügen.

Schritt 3) Aufrufen des Unterprogramms über das Klickereignis der Befehlsschaltfläche.

  • Klicken Sie mit der rechten Maustaste auf die Befehlsschaltfläche (siehe Abbildung unten). 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

Schalten Sie in der Entwickler-Symbolleiste den Entwurfsmodus aus. Wie nachfolgend dargestellt.

Schritt 5) Klicken Sie auf die Befehlsschaltfläche 'FullName Subroutine'.

Sie erhalten die folgenden Ergebnisse

Laden Sie den obigen Excel-Code herunter

Zusammenfassung:

  • Eine Unterroutine ist ein Code, der eine bestimmte Aufgabe ausführt. Eine Unterroutine gibt nach der Ausführung keinen Wert zurück
  • Unterprogramme bieten Code-Wiederverwendbarkeit
  • Unterprogramme helfen dabei, große Codestücke in kleinen verwaltbaren Code zu zerlegen.