DatenbankManufaktur

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:

fx-Fenster ohne Hilfe zur Funktion

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:

fx-Fesnter mit Hilfe zur Funktion

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:

Funktionsauswahl mit eigener Kategorie

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)