- Startseite
- Neuigkeiten
- Über mich
- Referenzen
- Beispiele
- Artikel
- Tools
- Access-Tipps
- Excel-Tipps
- Spielereien
- Kontakt
- Impressum
- Datenschutz
Meine Projekte:


Hilfe für benutzerdefinierte Funktionen
Wenn man die eigenen benutzerdefinierte Funktionen (UDF) lange nicht mehr benutzt hat oder an andere Benutzer weiter gibt, wäre eine kleine Hilfe beim Suchen und Eingeben der Parameter nützlich. Mit der MacroOptions-Methode kann man die Funktion und die Hilfe in einer Makro- oder Add-In-Arbeitsmappe eintragen.
Problem
Vor einigen Jahren habe ich mir einige eigene Funktionen geschrieben. Als ich eine davon mal wieder einsetzen wollte, konnte ich nicht mehr erinnern, welche Werte für einige der Parameter benötigt werden bzw. erlaubt sind.
Meine Verbinden()-Funktion hat drei Parameter, bei denen der erwartete Wert des dritten Parameters sich nicht direkt aus dem angezeigten Variablennamen 'Zeichen_am_Ende' ablesen lässt:
Lösung
Mit ein paar Zeilen Code, welche die nötigen Erläuterungen aus der (sowieso vorhandenen) Funktionsbeschreibung in die MacroOptions schreiben, sieht das fx-Fenster dann so aus:
Das sind genau die Informationen, die man als Benutzer braucht. Und mit dieser kleinen Prozedur werden sie in der Datei hinterlegt:
Sub RegisterUDF() '================================================================================== ' Hilfstexte für das obige Makro im fx-Fenster zur Verfügung stellen '================================================================================== Dim strFunc As String ' Name der Funktion Dim strDesc As String ' Beschreibung der Funktion (max. 255 Zeichen) Dim strArgs() As String ' Parameter der Funktion Dim strCate As String ' Kaegorie in der Funktionsauswahl Redim strArgs(1 To 3) ' Array mit den Parametern strFunc = "Verbinden" strDesc = "Verkettet die gefüllten Felder und fügt ein Trennzeichen ein, das " _ & "auf Wunsch auch am Ende angehängt bzw. weggelassden wird." strArgs(1) = "Bereich (ein einzeiliger, zusammenhängender Bereich beliebiger " _ & "Länge z. B. A1:F1)" strArgs(2) = "Trennzeichen (ein oder mehrere Zeichen, in Anführungszeichen, " _ & "z. B. ""-"", optional, Standardwert ""."")" strArgs(3) = "Trennzeichen am Ende ausgeben? (WAHR oder FALSCH, optional, " _ & "Standardwert WAHR)" strCate = "DatenbankManufaktur" Application.MacroOptions Macro:=strFunc, _ Description:=strDesc, _ ArgumentDescriptions:=strArgs, _ Category:=strCate End Sub
Die neue Funktion ist dann im fx-Fenster in der Kategorie 'DatenbankManufaktur' verfügbar, ggf. mit weiteren Funktionen, die in der gleichen Arbeitsmappe eingetragen wurden:
Um sicher zu gehen, dass die Hilfe immer (aktuell) verfügbar ist, wird die RegisterUDF()-Prozedur immer in der Workbook_Open()-Prozedur aufrufen.
Download
Die aktualisierte Beispieldatei für die UDF Verbinden() enthält den kompletten Code, auch um die Hilfe wieder zu entfernen.
Verbinden() für Excel 2007 (und neuer)
(Datei: Verbinden.zip, ca. 23 KB)