Tutorial zu Excel-VBA-Funktionen: Rückgabe, Aufruf, Beispiele

Was ist eine Funktion?

Eine Funktion ist ein Codeteil, der eine bestimmte Aufgabe ausführt und ein Ergebnis zurückgibt. Funktionen werden meist zum Ausführen sich wiederholender Aufgaben verwendet, z. B. zum Formatieren von Daten für die Ausgabe, zum Durchführen von Berechnungen usw.

Angenommen, Sie entwickeln ein Programm, das die Zinsen für einen Kredit berechnet. Sie können eine Funktion erstellen, die den Kreditbetrag und die Amortisationsdauer akzeptiert. Die Funktion kann dann anhand des Kreditbetrags und der Amortisationsdauer die Zinsen berechnen und den Wert zurückgeben.

Warum Funktionen verwenden?

Die Vorteile der Verwendung von Funktionen sind die gleichen wie im obigen Abschnitt zur Verwendung von Unterprogrammen.

Regeln zur Benennung von Funktionen

Die Regeln für die Benennung von Funktionen sind dieselben wie im obigen Abschnitt über Regeln für die Benennung von Unterprogrammen.

VBA-Syntax zum Deklarieren einer Funktion

Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)
    myFunction = arg1 + arg2
End Function

HIER in der Syntax,

Code Action
  • „Private Funktion myFunction(…)“
  • Hier wird das Schlüsselwort „Function“ verwendet, um eine Funktion namens „myFunction“ zu deklarieren und den Hauptteil der Funktion zu starten.
  • Mit dem Schlüsselwort „Private“ wird der Umfang der Funktion angegeben
  • „ByVal arg1 als Ganzzahl, ByVal arg2 als Ganzzahl“
  • Es deklariert zwei Parameter vom ganzzahligen Datentyp mit den Namen „arg1“ und „arg2“.
  • meineFunktion = arg1 + arg2
  • wertet den Ausdruck arg1 + arg2 aus und weist das Ergebnis dem Namen der Funktion zu.
  • „Funktion beenden“
  • „End Sub“ wird verwendet, um den Hauptteil der Funktion zu beenden

Funktion am Beispiel demonstriert:

Funktionen sind Subroutinen sehr ähnlich. Der Hauptunterschied zwischen einer Subroutine und einer Funktion besteht darin, dass die Funktion beim Aufruf einen Wert zurückgibt. Eine Subroutine hingegen gibt beim Aufruf keinen Wert zurück. Angenommen, Sie möchten zwei Zahlen addieren. Sie können eine Funktion erstellen, die zwei Zahlen akzeptiert und die Summe der Zahlen zurückgibt.

  1. Erstellen Sie die Benutzeroberfläche
  2. Fügen Sie die Funktion hinzu
  3. Schreiben Sie Code für die Befehlsschaltfläche
  4. Testen Sie den Code

Schritt 1) Benutzeroberfläche

Fügen Sie dem Arbeitsblatt eine Befehlsschaltfläche hinzu, wie unten gezeigt

VBA-Funktionen und Unterprogramme

Legen Sie die folgenden Eigenschaften von CommandButton1 wie folgt fest.

S / N Kontrollieren Immobilien Wert
1 Befehlsschaltfläche1 Name btnAddNumbers
2 Bildunterschrift Speichern Numbers Funktion


Ihre Oberfläche sollte nun wie folgt aussehen

VBA-Funktionen und Unterprogramme

Schritt 2) Funktionscode.

  1. Drücken Sie Alt + F11, um das Codefenster zu öffnen
  2. Fügen Sie den folgenden Code hinzu
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

HIER im Code,

Code Action
  • „Private Veranstaltung hinzufügenNumbers(...) "
  • Es deklariert eine private Funktion „addNumbers”, das zwei ganzzahlige Parameter akzeptiert.
  • „ByVal firstNumber As Integer, ByVal secondNumber As Integer“
  • Es deklariert zwei Parametervariablen firstNumber und secondNumber
  • "addierenNumbers = erste Zahl + zweite Zahl“
  • Es addiert die Werte „firstNumber“ und „secondNumber“ und weist die zu addierende Summe zuNumbers.

Schritt 3) Schreiben Sie Code, der die Funktion aufruft

  1. Klicken Sie mit der rechten Maustaste auf btnAddNumbers_Klicken Sie auf die Befehlsschaltfläche
  2. Wählen Sie Code anzeigen
  3. Fügen Sie den folgenden Code hinzu
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

HIER im Code,

Code Action
"NachrichtBox hinzufügenNumbers(2,3)
  • Es ruft die Funktion add aufNumbers und übergibt 2 und 3 als Parameter. Die Funktion gibt die Summe der beiden Zahlen fünf (5) zurück.

Schritt 4) Führen Sie das Programm aus. Sie erhalten die folgenden Ergebnisse

VBA-Funktionen und Unterprogramme

Laden Sie Excel herunter, das den obigen Code enthält

Laden Sie den obigen Excel-Code herunter

Zusammenfassung

  • Eine Funktion ist ein Codestück, das eine bestimmte Aufgabe ausführt. Eine Funktion gibt nach der Ausführung einen Wert zurück.
  • Sowohl Unterprogramme als auch Funktionen bieten Wiederverwendbarkeit des Codes
  • Sowohl Unterroutinen als auch Funktionen helfen dabei, große Codeblöcke in kleinen, überschaubaren Code zu zerlegen.