ich habe folgende Funktion für das Lesen von Werten aus einer geschlossenen Datei:
Public (das Public gehört zu Function, wird hier im Forum aber immer verschoben)
Function GetValue(path As String, file As String, sheet As String, ref As String) As String
Dim arg As String
arg = "'" & path & "[" & file & "]" & sheet & "'!" & Range(ref).Address(, , xlR1C1)
GetValue = Application.ExecuteExcel4Macro(arg)
End Function
Rufe ich diese Funktion mittels Prozedur auf und gebe den Wert per MsgBox aus, so funktioniert das auch wunderbar:
Sub TestGetValue()
Dim a As String
a = GetValue("u:\temp\", "test.xls", "deckblatt", "a1")
MsgBox (a)
End Sub
Wenn ich nun aber versuche die Funktion (mit exakt dem gleichen Aufruf wie in der Prozedur) in einer Excel-Formel zu verwenden, bekomme ich immer den Fehler #WERT!:
=getvalue("u:\temp\";"test.xls";"deckblatt";"a1")
Weshalb?