Hier finden Sie einige relativ einfache benutzerdefinierte Excel VBA-Arbeitsblattfunktionen, die auch sehr nützlich sind. Diese Funktionen werden Wrapperfunktionen genannt, da sie aus Code bestehen, der um intrinsische VBA-Elemente gewickelt ist. Mit anderen Worten, sie ermöglichen Ihnen die Verwendung von VBA-Funktionen in Arbeitsblattformeln.
Funktion Benutzer()
' Gibt den Namen des aktuellen Benutzers zurück
Benutzer = Anwendung.Benutzername
Endfunktion
Mit dieser Funktion können Ihre Formeln im Wesentlichen auf die UserName-Eigenschaft des Application-Objekts zugreifen.
Die NumberFormat-Funktion
Diese Funktion zeigt einfach das Zahlenformat für eine Zelle an. Dies kann nützlich sein, wenn Sie sicherstellen müssen, dass eine Gruppe von Zellen alle das gleiche Zahlenformat hat.
Funktion NumberFormat(Zelle)
' Gibt das Zahlenformat der Zelle zurück
NumberFormat = Cell(1).NumberFormat
Endfunktion
Beachten Sie die Verwendung von Zelle (1)? Wenn ein mehrzelliger Bereich als Argument verwendet wird, wird nur die erste Zelle verwendet.
Sie können ganz einfach ähnliche Funktionen schreiben, die die Textfarbe, Hintergrundfarbe, Schriftart usw. einer Zelle zurückgeben.
Die ExtractElement-Funktion
Diese Wrapper-Funktion gibt eine Teilzeichenfolge aus einer Textzeichenfolge zurück, die mehrere Elemente enthält, die durch ein Trennzeichen getrennt sind. Diese Formel gibt beispielsweise Kuh zurück, das dritte Element in einer Zeichenfolge, die ein Leerzeichen als Trennzeichen verwendet. Die Argumente können natürlich Zellreferenzen sein.
=ExtractElement("Hund Pferd Kuh Katze", 3, "")
Hier ist der Code, der ein Wrapper für die Split-Funktion von VBA ist:
Funktion ExtractElement(Txt, n, Sep)
' Gibt das n-te Element einer Textzeichenfolge zurück, wobei die
' Elemente werden durch ein angegebenes Trennzeichen getrennt
ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1)
Endfunktion
Das Bild unten zeigt die ExtractElement-Funktion, die in Arbeitsblattformeln verwendet wird. Spalte A enthält die Textzeichenfolge, Spalte B enthält die zu extrahierende Elementnummer und Spalte C enthält das Trennzeichen (Zellen, die leer erscheinen, enthalten ein Leerzeichen).

Verwenden der Funktion ExtractElement, um ein Element aus einer Zeichenfolge zurückzugeben.
Die SayIt-Funktion
Diese einfache Funktion ist ein Wrapper für die Speak-Methode des Application.Speech-Objekts. Es verwendet eine synthetisierte Stimme, um das Argument zu „sprechen“.
Funktion SayIt(txt)
' Spricht das Argument
Application.Speech.Speak txt, True
Endfunktion
Hier ist ein Beispiel:
=WENN(C10>10000,SayIt(„Budget überschritten“)“,OK“)
Die Formel überprüft Zelle C10. Ist der Wert größer als 10.000, spricht die Funktion den Text: „Over budget“. Wenn der Wert kleiner als 10.000 ist, zeigt die Funktion den Text OK an (und sagt nichts).
Sparsam verwenden. Wenn Sie diese Funktion mehrmals verwenden, kann dies sehr verwirrend sein. Denken Sie auch daran, dass diese Funktion jedes Mal ausgewertet wird, wenn das Arbeitsblatt berechnet wird. Daher kann die Stimme sehr nervig werden, wenn Sie viele Änderungen vornehmen. Diese Funktion ist wahrscheinlich eher für Unterhaltungszwecke geeignet.
Die IsLike-Funktion
Der Like-Operator von VBA ist eine sehr flexible Möglichkeit, Textzeichenfolgen zu vergleichen. Schau mal im VBA-Hilfesystem nach. Diese Funktion bringt diese Leistung in Ihre Arbeitsblattformeln:
Funktion IsLike(Text, Muster)
' Gibt true zurück, wenn das erste Argument wie das zweite ist
IsLike = textähnliches Muster
Endfunktion