Xtract: In Excel-VBA (Makro) eine UDF (User Defined Function, durch einen Nutzer erstellte Funktion) einbinden und verwenden.
UDFs einfügen (integrieren) und verwenden
Excel, alle Versionen
Das Internet ist gut gefüllt mit Code-Schnipseln, welche als UDF (User Defined Function) etwas bewirken sollen. Grundsätzlich dazu drei wichtige Hinweise:
- Eine Funktion (Function) gibt immer einen Wert, ein Ergebnis zurück. Beispiel: SUMME(), da wird das Ergebnis einer Addition zurück gegeben. Wenn Sie aktiv in (mindestens) einer Tabelle etwas machen, etwas bewirken oder verändern wollen, dann wird prinzipiell eine SUB-Procedure eingesetzt. Mehr dazu: Hier.
- Sie sollten der Quelle absolut vertrauen oder den Code vollkommen nachvollziehen können, prinzipiell sogar verstehen. Manch ein fehlgeleiteter Mensch stellt auf diesem Wege Code ins Netz, der viel Schaden anrichten kann (Stichwort: Viren).
- SUBs können im Code-Bereich einer Tabelle oder der Arbeitsmappe erstellt werden, Funktionen (Functions, UDFs) gehören immer in ein Projekt-Modul.
Hinweis: Diese selbst erstellten Funktionen werden in Arbeitsblättern genau so verwendet wie die anderen Excel-Funktionen. Angenommen, Sie haben eine Funktion mit dem Namen TageBisDatum() geschrieben, welche die Anzahl der Tage bis zu einem bestimmten Datum zurück gibt, dann würden Sie in A2 schreiben: =TageBisDatum(A1) wenn in A1 das Referenzdatum steht.
Ob Sie nun eine UDF selbst entwickeln, abtippen oder per copy and paste dem Excel zur Verfügung stellen wollen, der Weg ist immer der gleiche:
- Öffnen oder aktivieren Sie die entsprechende Arbeitsmappe
- AltF11, um in den VBA-Editor zu gelangen:
- Fügen Sie nun ein neues Projekt-Modul (!) ein. Dazu gibt es zwei Möglichkeiten:
oder
Im Haupt-Teil des Editors ist der Hintergrund nun nicht mehr dunkelgrau sondern weiß. Außerdem blinkt dort links oben der Schreibcursor (Schreibmarke) und wartet auf Ihre Eingaben:
Weiterhin ist im linken Teil dem so genannten Projekt-Explorer das Verzeichnis für die Module und das Symbol für Modul1 hinzu gekommen (siehe Markierung im Bild oben).
Der Editor ist nun bereit, dass Code in beliebiger Form eingefügt werden kann. Nach einer Kontrolle sollten Sie auf jeden Fall das Modul speichern (beispielsweise StrgS), um bei einem unvorhergesehenen Absturz nicht die ganze Arbeit verloren zu haben.
Hinweis: Die Bildschirmfotos wurden mit der Version Excel 2007 erstellt. Leichte Abweichungen zu anderen Versionen sind denkbar.
Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?
Dann würde ich mich über einen Beitrag Ihrerseits z.B. 1,50 € freuen …