Daten aus geschlossenen Excel Dateien auslesen.
Hallo,
ich habe ein Problem, bei dem ich gern Hilfe annehmen würde.
In dem Verzeichnis "20130628" sind mehrere Hundert Unterordner . In jedem dieser Unterordner befindet sich eine Excel Datei mit dem Namen "Info.xls".
In allen diesen Excel Dateien befindet sich in der Zelle "B20" ein Wert, den ich auslesen und in der separaten Datei "Auswertung.xls" untereinander anzeigen lassen möchte.
Die Namen der Unterordner lauten wie folgt:
28.06_1997 (1)
28.06_1997 (2)
28.06_1997 (3)
28.06_1997 (4)
28.06_1997 (499)
28.06_1997 (500)
Wie kann ich dieses am besten anstellen. Ich komme da einfach nicht weiter.
Vorab vielen Dank für eure Mühe
Kai
ich habe ein Problem, bei dem ich gern Hilfe annehmen würde.
In dem Verzeichnis "20130628" sind mehrere Hundert Unterordner . In jedem dieser Unterordner befindet sich eine Excel Datei mit dem Namen "Info.xls".
In allen diesen Excel Dateien befindet sich in der Zelle "B20" ein Wert, den ich auslesen und in der separaten Datei "Auswertung.xls" untereinander anzeigen lassen möchte.
Die Namen der Unterordner lauten wie folgt:
28.06_1997 (1)
28.06_1997 (2)
28.06_1997 (3)
28.06_1997 (4)
28.06_1997 (499)
28.06_1997 (500)
Wie kann ich dieses am besten anstellen. Ich komme da einfach nicht weiter.
Vorab vielen Dank für eure Mühe
Kai
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 210703
Url: https://administrator.de/contentid/210703
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo kufprivat und willkommen im Forum!
Das könnte etwa so gehen (als Makro in der "Auswertung.xls"):
Vorab wäre noch die entsprechende Zeile der Zieltabelle zu löschen ...
Grüße
bastla
Das könnte etwa so gehen (als Makro in der "Auswertung.xls"):
Sub WerteHolen()
' Quelle
Ordner = "D:\20130628"
Datei = "Info.xls"
Zelle = "B20"
' Ziel
Spalte = "A"
AbZeile = 2
Set Ziel = ThisWorkbook.ActiveSheet
Zeile = AbZeile
Set fso = CreateObject("Scripting.FileSystemObject")
For Each Folder In fso.GetFolder(Ordner).SubFolders 'alle Unterordner durchgehen
Pfad = Folder.Path & "\" & Datei 'vollständigen Dateipfad erstellen
If fso.FileExists(Pfad) Then ' wenn Datei gefunden ...
Set Quelle = Workbooks.Open(Pfad) '... diese öffnen ...
'... Wert auslesen und übertragen
Ziel.Cells(Zeile, Spalte) = Quelle.Worksheets(1).Range(Zelle).Value
Quelle.Close '... und Datei wieder schließen
Zeile = Zeile + 1 'nächste Zeile in der Zieldatei
End If
Next
MsgBox "Fertig."
End Sub
Grüße
bastla
Ich kämpfe hier gerade mit was ähnlichem. Habe aber auch noch keine Lösung.
Pfad = H:\excel\mitarbeiter
Dateinamen = *.xls (Also explizit sind es die Namen der MItarbeiter)
Worksheet = 2019
Bezug = W8
Ich habe ein Script gefunden dass zwar die Worksheets aufmacht aber eigentlich dafür gedacht ist darin eine Anpassung vor zu nehmen.
Zur Zeit versuche ich verzweifelt in der einen Sektion eine Cell Copy hinzubekommen und in eine andere Datei zu schreiben.
https://www.thespreadsheetguru.com/the-code-vault/2014/4/23/loop-through ...
Weiter muss ich noch einbauen dass er den nächsten Wert dann in eine neue Target Cell schreib.
Zeile = Zeile + 1 'nächste Zeile in der Zieldatei
Alles nicht so einfach wenn man hier keine Übung hat ;)
Pfad = H:\excel\mitarbeiter
Dateinamen = *.xls (Also explizit sind es die Namen der MItarbeiter)
Worksheet = 2019
Bezug = W8
Ich habe ein Script gefunden dass zwar die Worksheets aufmacht aber eigentlich dafür gedacht ist darin eine Anpassung vor zu nehmen.
Zur Zeit versuche ich verzweifelt in der einen Sektion eine Cell Copy hinzubekommen und in eine andere Datei zu schreiben.
https://www.thespreadsheetguru.com/the-code-vault/2014/4/23/loop-through ...
Weiter muss ich noch einbauen dass er den nächsten Wert dann in eine neue Target Cell schreib.
Zeile = Zeile + 1 'nächste Zeile in der Zieldatei
Alles nicht so einfach wenn man hier keine Übung hat ;)