/ / Benutzerdefinierte Funktion in Excel VBA

Benutzerdefinierte Funktion in Excel VBA

Unten sehen wir uns ein Programm in Excel VBA das schafft ein Benutzerdefinierte Funktion. Excel hat eine große Sammlung von Funktionen. In den meisten Situationen reichen diese Funktionen aus, um die Aufgabe zu erledigen. Wenn nicht, können Sie Ihre eigene Funktion namens Benutzerdefinierte Funktion oder erstellen benutzerdefinierte Excel-Funktion. Sie können wie bei jeder anderen Excel-Funktion auf eine benutzerdefinierte Funktion zugreifen.

Wir wollen eine Funktion namens SUMEVENNUMBERS erstellen, die die Summe der geraden Zahlen eines zufällig ausgewählten Bereichs findet.

Situation:

Benutzerdefinierte Funktion in Excel VBA

Benutzerdefinierte Funktionen müssen in einem Modul platziert werden.

1. Öffnen Sie den Visual Basic-Editor und klicken Sie auf Einfügen, Modul.

2. Fügen Sie die folgende Codezeile hinzu:

Function SUMEVENNUMBERS(rng As Range)

Der Name unserer Funktion ist SUMEVENNUMBERS. Der Teil zwischen den Klammern bedeutet, dass wir Excel VBA einen Bereich als Eingabe geben. Wir nennen unseren Bereich rng, aber Sie können einen beliebigen Namen verwenden.

3. Als nächstes deklarieren wir ein Range-Objekt und rufen es auf.

Dim cell As Range

4. Wir wollen jede Zelle in einem zufällig ausgewählten Bereich überprüfen (dieser Bereich kann beliebig groß sein). In Excel VBA können Sie dafür die For Each Next-Schleife verwenden. Fügen Sie die folgenden Codezeilen hinzu:

For Each cell In rng

Next cell

Hinweis: Zelle wird hier zufällig ausgewählt, Sie können einen beliebigen Namen verwenden.

5. Als nächstes prüfen wir für jeden Wert in diesem Bereich, ob es gerade ist oder nicht. Wir benutzen dafür den Mod-Operator. Der Mod-Operator gibt den Rest einer Division an. Also würde 7 Mod 2 1 ergeben. 7 wird durch 2 (3 Mal) geteilt, um einen Rest von 1 zu ergeben. Nachdem dies gesagt wurde, ist es leicht zu überprüfen, ob eine Zahl gerade ist oder nicht. Nur wenn der Rest einer Zahl geteilt durch 2 gleich 0 ist, ist die Anzahl gerade. 8 mod 2 ergibt 0, 8 wird genau 2 mal durch 2 geteilt und daher ist 8 gerade. Fügen Sie der For-For-Next-Schleife die folgende If-Anweisung hinzu.

If cell.Value Mod 2 = 0 Then

End If

6. Nur wenn diese Aussage wahr ist, fügen wir den Wert zu SUMEVENNUMBERS hinzu. Fügen Sie die folgende Codezeile in der If-Anweisung hinzu.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Vergessen Sie nicht, die Funktion zu beenden (außerhalb der Schleife).

End Function

8. Nun können Sie diese Funktion wie jede andere Excel-Funktion verwenden, um die Summe der geraden Zahlen eines zufällig ausgewählten Bereichs zu finden.

Ergebnis:

Benutzerdefiniertes Funktionsergebnis

Gut gemacht! So einfach sind die benutzerdefinierten Funktionen in Excel VBA. Hinweis: Diese Funktion ist nur in dieser Arbeitsmappe verfügbar.

Lesen Sie auch: