Microsoft Excel bietet die Möglichkeit, eigene Funktionen mithilfe der Programmiersprache VBA (Visual Basic for Applications) zu erstellen. Das Einfügen einer benutzerdefinierten Funktion in Excel VBA kann die Datenverarbeitung und die Automatisierung von Aufgaben erheblich vereinfachen und beschleunigen. Um eine Funktion in Excel VBA einzufügen, müssen Sie einige einfache Schritte befolgen, die in diesem Artikel behandelt werden.
Der erste Schritt besteht darin, den VBA-Editor mit einer Tastenkombination zu öffnen Alt+F11. Dann müssen Sie ein neues Modul erstellen, indem Sie den Menüpunkt auswählen Einfügen - Modul. Im geöffneten Editorfenster müssen Sie den Funktionscode mithilfe der VBA-Syntax schreiben. Die Funktion muss mit einem Schlüsselwort beginnen Function gefolgt von dem Funktionsnamen und einer Liste von Argumenten in Klammern. Die Funktion wird mit einem Schlüsselwort beendet End Function.
Wenn wir beispielsweise eine benutzerdefinierte Funktion erstellen möchten, die zwei Zahlen addiert, könnte der Code folgendermaßen aussehen:
Function Sum(a As Double, b As Double) As Double
Nachdem Sie den Funktionscode geschrieben haben, müssen Sie den VBA-Editor schließen. Die Funktion ist jetzt für die Verwendung in Excel verfügbar. Um eine Funktion aufzurufen, müssen Sie ihren Namen in die Zelle eingeben und die Argumentwerte in Klammern übergeben. Um beispielsweise die Funktion Sum mit den Argumenten 5 und 3 aufzurufen, müssen Sie die Formel =Sum(5, 3) in eine Zelle eingeben. Dadurch wird der Wert 8 ausgegeben.
Durch das Einfügen einer Funktion in Excel VBA können Sie daher benutzerdefinierte Funktionen erstellen, die die Verarbeitung von Daten und die Automatisierung von Aufgaben vereinfachen. Durch einfache Schritte und die Verwendung der VBA-Syntax kann jeder Excel-Benutzer seine eigenen Funktionen erstellen, wodurch die Arbeitseffizienz möglicherweise verbessert wird.
Schritt 1: Öffnen des VBA-Editors
Um eine Funktion in Excel VBA einzufügen, müssen Sie den VBA-Editor öffnen, in dem Sie Makros und Funktionen schreiben und bearbeiten können.
Befolgen Sie die folgenden Schritte, um den VBA-Editor zu öffnen:
- Öffnen Sie Excel und wählen Sie die Datei aus, in die Sie die Funktion einfügen möchten.
- Klicken Sie in der oberen Menüleiste von Excel auf die Registerkarte Entwickler. Wenn die Registerkarte Entwickler nicht angezeigt wird, müssen Sie sie in den Excel-Einstellungen aktivieren. Befolgen Sie dazu die folgenden Schritte:
- Klicken Sie mit der rechten Maustaste auf die Excel-Symbolleiste.
- Wählen Sie "Schnellzugriffsleiste anpassen".
- Wählen Sie im daraufhin angezeigten Fenster "Anpassen der Schnellzugriffsleiste" die Registerkarte "Schnellzugriffsleiste" aus.
- Wählen Sie in der Liste Befehle auswählen von die Option Entwickler aus.
- Klicken Sie auf die Schaltfläche Hinzufügen >>.
- Klicken Sie auf "OK".
- Suchen Sie auf der Registerkarte Entwickler die Gruppe Code und klicken Sie auf die Schaltfläche Visual Basic Application (VBA).
Jetzt haben Sie den VBA-Editor geöffnet und können mit dem Schreiben und Bearbeiten der Funktion beginnen.
Schritt 2: Erstellen eines neuen Moduls
Um eine neue Funktion in VBA Excel zu erstellen, müssen Sie dem Projekt ein Modul hinzufügen. Ein Modul ist ein spezieller Codebereich, in dem Funktionen, Prozeduren und Variablen definiert werden können.
Führen Sie die folgenden Schritte aus, um ein neues Modul zu erstellen:
- Öffnen Sie den Visual Basic-Editor, indem Sie eine Tastenkombination drücken Alt + F11.
- Klicken Sie im Visual Basic-Editor-Fenster auf die Registerkarte Einfügung und klicken Sie auf die Schaltfläche Modul. Dadurch wird ein neues Modul im Projekt erstellt.
- Geben Sie auf der angezeigten Seite den Code für die Funktion oder Prozedur ein. Zum Beispiel können Sie eine Funktion definieren, die zwei Zahlen addiert:
Function Сложить(Число1 As Integer, Число2 As Integer) As IntegerСложить = Число1 + Число2End Function
In diesem Beispiel wird die Funktion "Addieren" genannt und akzeptiert zwei Argumente: "Zahl1" und "Zahl2". Es gibt die Summe dieser beiden Zahlen zurück.
Nachdem Sie den Code eingegeben haben, speichern Sie das Modul, indem Sie auf die Schaltfläche klicken Speichern oder die Taste Ctrl + S. Geben Sie den gewünschten Namen für das Modul ein, und schließen Sie das Visual Basic-Editor-Fenster (klicken Sie auf Alt + Q oder klicken Sie auf das Kreuz in der oberen rechten Ecke des Fensters).
Jetzt haben Sie erfolgreich ein neues Modul erstellt, in dem die Funktion definiert ist. Im nächsten Schritt werden wir uns ansehen, wie Sie diese Funktion in Excel verwenden.
Schritt 3: Schreiben der Funktion
Nachdem Sie den Funktionsnamen und die Argumentliste definiert haben, können Sie mit dem Schreiben von Code innerhalb der Funktion beginnen. Schreiben Sie Code, der die erforderlichen Berechnungen durchführt und das Ergebnis zurückgibt.
Alle in Excel VBA verfügbaren Operatoren und Funktionen können innerhalb der Funktion verwendet werden. Sie können bedingte Ausdrücke, Schleifen, Arrayoperationen und andere Werkzeuge verwenden, um eine Funktion zu erstellen, die die gewünschten Aktionen ausführt.
Angenommen, Sie möchten eine Funktion erstellen, die zwei Zahlen addiert. In diesem Fall könnte der Funktionscode wie folgt aussehen:
Function SumNumbers(num1 As Integer, num2 As Integer) As IntegerSumNumbers = num1 + num2End Function
Dies ist eine einfache Funktion namens "SumNumbers". Es akzeptiert zwei Argumente - "num1" und "num2". Innerhalb der Funktion werden diese beiden Zahlen addiert und das Ergebnis wird der Variablen "SumNumbers" zugewiesen. Anschließend wird das Ergebnis mithilfe des Schlüsselworts "Function" aus der Funktion zurückgegeben.
Nachdem Sie den Funktionscode geschrieben haben, speichern Sie die Datei und fahren Sie mit dem nächsten Schritt fort - dem Aufruf der Funktion aus der Zelle.
Schritt 4: Speichern der Funktion und Schließen des Editors
Nachdem Sie Ihre Funktion geschrieben und getestet haben, besteht der nächste Schritt darin, die Funktion zu speichern und den VBA-Editor zu schließen. Hier ist, wie man es macht:
- Klicken Sie auf die Schaltfläche Speichern oder wählen Sie den Menüpunkt Datei -> Speichern, um Ihre Funktion zu speichern.
- Wenn Sie eine VBA-Funktion speichern, wird normalerweise das Dialogfeld "Speichern unter" angezeigt, in dem Sie den Speicherort der Datei auswählen und einen Dateinamen angeben können.
- Stellen Sie sicher, dass die Datei mit der Erweiterung gespeichert wird. "xlsm" (für eine Makro-gespeicherte Excel-Arbeitsmappe) oder ".xls" (für eine Standard-Excel-Arbeitsmappe).
- Wählen Sie einen Ordner aus, geben Sie einen Dateinamen ein, und klicken Sie dann auf die Schaltfläche Speichern oder OK.
- Nachdem Sie die Funktion gespeichert haben, können Sie den VBA-Editor schließen. Klicken Sie dazu auf die Schaltfläche Schließen oder wählen Sie den Menüpunkt Datei -> Schließen und zurück zu Excel.
Jetzt ist Ihre Funktion gespeichert und kann in Excel verwendet werden. Sie können es von einer Zelle aus aufrufen oder in anderen Makros verwenden. Denken Sie daran, dass Sie die Datei nach jeder Änderung der Funktion erneut speichern müssen.
Beispiel: Einfügen einer Funktion zum Summieren von Spaltenwerten
Befolgen Sie diese Schritte, um eine Funktion einzufügen, die die Werte in einer Spalte zusammenfasst:
- Öffnen Sie den Visual Basic-Editor, indem Sie gleichzeitig Alt und F11 drücken.
- Wählen Sie im Menü Einfügen → Modul, um ein neues Modul zu erstellen.
- Geben Sie in dem sich öffnenden Codefenster den folgenden Code ein:
Function Summenspalte(Bereich As Range) As Double
Dim Zelle Als Bereich
Dim Summe als Double
Summe = 0
For Each Zelle In Bereich
If IsNumeric(Zelle.Value) Then
Summe = Summe + CDbl(Zelle.Value)
End If
Next Zelle
Summierenspalte = Summe
End Function
- Speichern und schließen Sie das Codefenster.
Jetzt können Sie die Funktion "Spalte summieren" in den Zellen Ihres Excel-Arbeitsblatts verwenden. Geben Sie dazu die Formel =Summenspalte(Bereich) in die Zelle ein, in der Sie die Summe der Werte in der Spalte erhalten möchten. Ersetzen Sie den "Bereich" durch den tatsächlichen Bereich der Zellen, die Sie summieren möchten.
Anmerkung: Die Funktion "Spalte summieren" akzeptiert nur numerische Werte und ignoriert Textwerte und leere Zellen in der Spalte.