Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Per VBA/Formel geschlossene Dateien auslesen

Per VBA/Formel geschlossene Dateien auslesen
29.09.2006 17:01:54
oliver.achnitz@comdirect.de
Hallo zusammen,
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?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per VBA/Formel geschlossene Dateien auslesen
02.10.2006 00:20:44
frigo
Hallo,
die Funktion erkennt Excel, sonst würde #Name! gemeldet. Es sieht für mich so aus, als würde z.B. eine Rechenoperation mit einer Zeichenkette vorgenommen, sprich sowas wie 3*"Test". Damit kann Excel natürlich nichts anfangen.
Vermutlich wird aus der Fremdtabelle Leer oder Text zurückgeliefert.
Gruß,
Frigo
AW: Per VBA/Formel geschlossene Dateien auslesen
04.10.2006 10:09:42
Oliver
Hallo Frigo,
vielen Dank für den Hinweis.
Allerdings verwende ich den Code genauso, wie er oben steht. D.h. die Funktion gibt definitiv einen String zurück - sie ist auch dementsprechend definiert und in der Quelle steht auch Text.
Bei der Verwendung in einer Formel werden aber keine Berechnungen durchgeführt (siehe oben), es soll nur das Ergebnis ausgegeben werden.
Oder übersehe ich da etwas?
Oliver
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige