VBA- Excel. Gültigkeit selbst definierter Funktion

Hallo liebes Forum, vorab ich bin VBA- Beginner!

Problemstellung / Aufgabe:
Ich möchte eine Funktion erstellen die mir z.B. den gesamten Filename in eine Zelle übergibt. Diese Funktion soll für alle zukünftigen Dateien verfügbar sein.

Lösungsversuch:
Manuelle Erstellung einer Funktion
Visual Basic Editor: VBAProjectPERSONL.XLS\ Module\ Modul1

Function DateiPfad() As String
DateiPfad = ActiveWorkbook.FullName
End Function

Ergebnis:
Nach erstellen einer neuen Datei und eingeben von „=DateiPfad()“ in eine Zelle erhalte ich den Fehler „#NAME?“ d.h. ungültiger Name. Die Funktion scheint nicht bekannt zu sein!

Wäre nett wenn mir jemand behilflich sein könnte. Gruß Joerg

Hallo ,

das ist zugegebener Maßen ein bischen blöd gelöst. Du musst in der Arbeitsmappe, in der deine Function ´DateiPfad()´ aufgerufen wird, einen „Verweis“ auf Personl.xls machen: Im VBA-Editor in einem Modulblatt der aufrufenden Mappe das Menü Extras -> Verweise anwählen. Dann geht ein Fensterchen „Verweise - deine_datei.xls“ auf, darin ein Häkchen bei Personl.xls machen.
Dann sollte es gehen - bei mir jedenfalls.

Gruss
Laika

Grüezi Joerg

Ich möchte eine Funktion erstellen die mir z.B. den gesamten
Filename in eine Zelle übergibt. Diese Funktion soll für alle
zukünftigen Dateien verfügbar sein.

Lösungsversuch:
Manuelle Erstellung einer Funktion
Visual Basic Editor: VBAProjectPERSONL.XLS\ Module\ Modul1

Function DateiPfad() As String
DateiPfad = ActiveWorkbook.FullName
End Function

Ergebnis:
Nach erstellen einer neuen Datei und eingeben von
„=DateiPfad()“ in eine Zelle erhalte ich den Fehler „#NAME?“
d.h. ungültiger Name. Die Funktion scheint nicht bekannt zu
sein!

Ja, das ist korrekt - die personl.xls ist eigentlich ‚nur‘ für Prozeduren und nicht für Functions gedacht.

Erstelle daher, wie von Laika gesagt, einen Verweis auf die Datei - oder (das ist meine Präferenz) erstelle dir eine Datei, die nur Functions enthält und speichere diese als AddIn ab (einfach im Speichern-Dialog auswählen).
Binde dieses AddIn dann über Extras/AddIns-Manager in Excel ein. Alle Functions die Du darin hat werden dann automatisch im Funktions-Assistenten angezeigt. Im VBA-Editor ist das AddIn dann ebenfalls sichtbar, Du kannst also problemlos neuen Code hinzufügen und/oder bestehenden verändern.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -