Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion zur Zellabfrage aus verschiedenen Dateien

Funktion zur Zellabfrage aus verschiedenen Dateien
05.08.2007 16:48:00
andreas
Hallo Zusammen!
ich benötige mal Eure Hilfe!
... ich möchte aus verschiedenen Exceldateien, Zellen auslesen. Das Problem, die Dateien sind auf verschiedenen [Laufwerk], in Verschiedenen [Verzeichnisen] und die Dateien haben verschiedene [Dateienamen], und auch verschiedene [Tabellenblätter].
Die Abfrage soll aus einer zentralen Datei kommen. Nur möchte ich die Verknüpfung nicht jedes mal ändern müssen. Meine Frage...
kann man eine Funktion erzeugen, bei der man die Bezüge verändern kann, indem man z.B. in Zelle
A1: "d:\" schreibt, in
A2: "Exceldateien\neu\" in
A3: "Block1.xls" in
A4: "Tabelle2" schreibt?
...
das heist, wenn ich z.B. nun schnell Zelle G12 aus der Datei "Block2.xls" auslesen möchte, dann brauch ich das nur in zelle A3 ändern.
Danke für Eure Hilfe!
Andreas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion zur Zellabfrage aus verschiedenen Dateien
05.08.2007 16:51:14
Hajo_Zi
Hallo Andreas,
ja das geht mit Indirekt, dazu muss die Quelldatei aber auf sein.
aus geschlossenen Dateien bekomst du mit folgendem Code Werte ausgelesen.

Option Explicit
'   von Alf Herber Forum
' https://www.herber.de/ _
forum/archiv/52to56/t52834.htm#52840
Sub TestGetValue()
Dim p As String
Dim f As String
Dim s As String
Dim r As String
p = "E:\Eigene Dateien\Hajo\"
f = "Adresse.xls"
s = "Adresse"
r = "B4"
'   bennanter Bereich ergänzung von Nikhil Milo
'    r = "Heinze"
MsgBox GetValue(p, f, s, r)
Worksheets("Tabelle1").Range("A1") = GetValue(p, f, s, r)
End Sub
Private Function GetValue(path, file, sheet, ref)
'   Retrieves a value from a closed workbook
Dim arg As String
'   Make sure the file exists
If Right(path, 1)  "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
'   Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
'   bennanter Bereich ergänzung von Nikhil Milo
'     arg = "'" & path & "[" & file & "]" & sheet & "'!" & ref
'   Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function



Anzeige
OT Alf
05.08.2007 17:06:10
Reinhard
Hallo Hajo,
"' von Alf Herber Forum"
ißt Hans Katzen oder warum Alf?
Gruß
Reinhard

AW: OT Alf
05.08.2007 17:14:40
Hajo_Zi
Hallo Reinhard,
aus dem Beitrag aus dem ich das entnommen habe Stand Alf als Ersteller, benutze den Link.
Gruß Hajo

AW: Funktion zur Zellabfrage aus verschiedenen Dat
05.08.2007 20:37:05
andreas
Hallo und Danke!
das geht schon in die richtige Richtung! nur...
wie kann ich das skript so anpassen, dass ich es als "normale" Excel-Funktion nutzen kann?
ich habe versucht, "Public Function" in "Function" umzubenennen. Das Eingabefenster für die Referenzen erscheint, jedoch gibt dies keinen richtigen wert aus, nur die Meldung #WERT!
wie geht das denn richtig!?
LG
Andreas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige