Daten aus externen ExcelDateien auslesen



Excel-Version: 5.0/7.0
nach unten

Betrifft: Daten aus externen ExcelDateien auslesen
von: Thomas
Geschrieben am: 27.06.2002 - 08:58:56

Innerhalb eines Projektes fallen täglich mehrere Excel-Dateien gleichen Aufbaus/Struktur an. Diese liegen alle in ein und dem selben Verzeichnis. Aus diesen Dateien möchte ich gerne ganz bestimmte Zellen auslesen (bei allen mehr oder weniger die gleichen). Nun habe ich mir ein Excel-Sheet aufgebaut, indem z.B. von A1:An(unterschiedlich viele) die Dateinamen der Exceldateien innerhalb diesen Verzeichnisses eingelesen werden (DateinamenEinleseModul). Ich hatte mir natürlich ganz einfach vorgestellt, über diese erfassten Dateinamen jetzt einen Bezug zu den jeweiligen Dateien und den Zellen darin herstellen zu können ( 'Datei56'!Z33 oder 'Datei34'!F12....) und in den Zellen B1:Bn, also neben den Dateinamen-Zellen die Werte aus den angesprochenen Dateien darstellen zu lassen......

Geht so etwas mit Excel? und wenn, wie aufwendig?

Für realistische Vorschläge (ich habe kein VBA-Studium) wäre ich wirklich sehr dankbar.

Gruß und schon mal vielen Dank für Eure Antworten....
Thomas


nach oben   nach unten

Re: Daten aus externen ExcelDateien auslesen
von: Daniel P
Geschrieben am: 27.06.2002 - 09:35:13

Hallo Thomas,

ich bin nicht sicher, ob ich das ganz verstehe, aber die Funktion INDIREKT könnte nützlich sein. Sie verwandelt einen Stringausdruck in einen Bezug.

Wenn z.B in Zelle A2 der Text 'A1 steht, und in Zelle B1 steht =INDIREKT(A2), dann nimmt B1 den Wert von A1 an. Das geht auch mit Dateinamen. Wenn in C1 der Name der Mappe steht, und in D1 steht =INIREKT(C1)&Tabelle1!a1, dann nimmt D1 den Wert der Zelle A1 auf dem Blatt 'Tabelle1' in der Datei, deren Name in C1 steht, an. Alles klar?

Daniel


nach oben   nach unten

Re: Daten aus externen ExcelDateien auslesen
von: Thomas
Geschrieben am: 27.06.2002 - 10:33:33

Hallo Daniel!

Erst mal vielen Dank für die Antwort.
Natürlich hab ich das gleich nochmal ausprobiert. Dieser Ansatz hat sich gestern nach Internetsuche schon einmal angedeutet.
Ich hab Dein Rezept 1:1 nachgestellt. Leider jedoch ohne Erfolg!

Vorgabe: in A1 steht "Datei1.xls" (der eingelesene Dateiname, natürlich ohne Hochkommas).
Diese Datei gibt es, ist Excel und hat ein Blatt Namens "Datei1"
Also der gleiche Name wie die Datei, nur eben halt ohne ".xls".
Das interessierende Feld ist: A18

Mein Testfeld ist K1 .

Versuch, Eingabe in K1:

=INDIREKT(A1)&Datei1!A18

Den Blattnamen in dieser Datei hab ich erstmal direkt eingegeben. Das müßte eigentlich auch mit A1 bzw. B1 gehen, da steht nämlich der Dateiname ohne ".xls", was ja dem BlattNamen entspricht.

Ergebnis:
Es wird eine Datei "Datei1" gesucht, aber nicht im Ordner ....\Eigene Dateien gefunden. Wenn da gesucht wird kann auch nix gefunden werden, denn die Datei steht da auch nicht!
OKAY....schieben wir die Datei halt mal dorthin....
OKAY, die Datei ist jetzt dort auch vorhanden.
Das gefällt aber weiterhin nicht.

FEHLERMELDUNG:
Externe Kopie: hat ein ungültiges Dateiformat.

in der Zelle steht #BEZUG und meine eingegebene Funktionszeile erweitert sich um den Pfadnamen (...\eigene Dateien...) und eckige Klammern.....

Kannst Du damit etwas anfangen?...aus dem TabellenBlatt-Namen wird ein Dateinamen gemacht. Auch das Einfügen von Hochkommas ändert nix an Verhalten und Ergebnis.....

Gruß
Thomas



nach oben   nach unten

Re: Daten aus externen ExcelDateien auslesen
von: Danie P
Geschrieben am: 27.06.2002 - 15:26:36

Hallo Thomas,

ich fürchte, ich habe Dir unterschlagen, daß Indirekt auf eine externe Mappe nur funktioniert, wenn diese geöffnet ist. Ausserdem muss der ganze Stringausdruck als Parameter in INDIREKT angegeben werden. Sorry!

Dann geht (in Deinem Beispiel in K1):
=INDIREKT("["&A1&"]Datei1!A18")

Daniel

nach oben   nach unten

Re: Daten aus externen ExcelDateien auslesen
von: Thomas
Geschrieben am: 27.06.2002 - 16:08:21

Hi Daniel!

halb so wild....das mit den Strings hab ich mir dann auch hingebastelt.....

Schade, daß nur auf geöffnete Dateien zugegriffen werden kann. Ich habs auch probiert, ca.60 Dateien auf einen Schlag zu öffnen...das Ergebnis kannst Du Dir denken...ABSTURZ (Überlauf)...
Mit ein paar geöffneten Dateien geht es, aber das ist leider nur die halbe Miete.

Ich hab jetzt alle Dateien als Tabellen eingefügt um an der Basis weiterarbeiten zu können. Ist halt recht unübersichtlich geworden.
Da die Dateien täglich aktualisiert werden, ist diese Lösung absolut unbrauchbar und unverträglich. Außerdem kommen andere dazu und vorhandene verschwinden.

Hast Du eine andere Idee, wie ich diese Dateien h(ä)ndeln soll.
Der Trick ist, daß das Programm nur die Excels ausgibt (es könnten zur NOT auch entsprechend viele simple ".txt" generiert werden). Ich brauche außerdem halt nur 4 - 5 Werte/Tabelle aus den erzeugten Dateien. Die "Ein-Knopf-Druck" Methode wäre halt relativ simpel gewesen. Im Internet gibt es noch ein paar rudimentäre Vorschläge per Makro auf externe Dateien zu zugreifen....bin halt kein Makro-Profi und habe nicht die Zeit mich da jetzt auch noch zu verkünsteln.....

Somit erst mal vielen Dank, einen schönen Donnerstag und bis bald.....

Thomas


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Daten aus externen ExcelDateien auslesen"