Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten einlesen

Forumthread: Daten einlesen

Daten einlesen
Joachim
Hallo Excel Spezialisten
Könnte eure Hilfe gebrauchen
Aus der Mappe Forecast möchte ich per Makro alle Dateien die auf dem Laufwerk "c:\Test" liegen und mit aaa... und bbb... anfangen einlesen. Die vollständigen Dateinamen und die Anzahl der Dateien sind nicht bekannt. Der Bereich A1:O5000 der ersten Datei soll in Tabelle1 A1 kopiert werden, der Bereich A1:O5000 der zweiten Datei in Tabelle2 A1 kopiert werden usw. Sollten weniger als 4 Dateien eingelesen werden sollte eine Meldung erscheinen z.B. "Achtung es wurden nur 3 Dateien eingelesen. Wenn es 4 oder mehr Dateien waren sollte eine Meldung z.B. "es wurden 6 Dateien eingelesen" erscheinen. Alle Dateien sollen nach dem einlesen in den Ordner C:\Test\Test verschoben werden.
Teile des Makros bekomme ich Dank des super Forums zwar selbst hin aber nicht als ganzes.
Schon mal Dank im Voraus
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten einlesen
03.05.2012 15:15:27
Rudi
Hallo,
teste mal:
Sub aaa()
Dim sFile As String, n As Integer, wkb As Workbook, arrFiles, iFiles As Integer
Const sPfad As String = "c:\test\"
arrFiles = Array("aaa*.xls", "bbb*.xls")
For iFiles = 0 To UBound(arrFiles)
sFile = Dir(sPfad & arrFiles(iFiles))
Do While sFile  ""
n = n + 1
Set wkb = Workbooks.Open(sPfad & sFile)
wkb.Sheets(1).Range("A1:O5000").Copy ThisWorkbook.Sheets(n).Range("A1")
wkb.Close False
sFile = Dir
Loop
Next
If n 

Gruß
Rudi
Anzeige
AW: Daten einlesen
03.05.2012 15:33:32
Joachim
Hallo Rudi
Is ja in Ding so schnell
Funktioniert super
Wenn du noch Lust hast: Wie bekomme ich es noch hin das die Dateien nach dem einlesen in den Ordner c:\Test\Test verschoben werden.
noch mal vielen Dank
AW: Daten einlesen
03.05.2012 15:47:44
Rudi
Hallo,
Wie bekomme ich es noch hin, ...
hab ich doch glatt vergessen.
Sub aaa()
Dim sFile As String, n As Integer, wkb As Workbook, arrFiles, iFiles As Integer
Const sPfad As String = "c:\test\"
arrFiles = Array("aaa*.xls", "bbb*.xls")
Application.ScreenUpdating = False
For iFiles = 0 To UBound(arrFiles)
sFile = Dir(sPfad & arrFiles(iFiles))
Do While sFile  ""
n = n + 1
Set wkb = Workbooks.Open(sPfad & sFile)
wkb.Sheets(1).Range("A1:O5000").Copy ThisWorkbook.Sheets(n).Range("A1")
wkb.Close False
Name sFile As "c:\test\test\" & sFile 'c:\test\test\ muss existieren
sFile = Dir
Loop
Next
If n 

Gruß
Rudi
Anzeige
AW: Daten einlesen
03.05.2012 16:37:49
Joachim
Hallo Rudi
Nun kommt die Meldung Laufzeitfehler 53 Datei nicht gefunden, und die Zeile:
Name sFile As "c:\test\test\" & sFile 'c:\test\test\ muss existieren
wird gelb markiert.
Der Ordner C:\test\test\ existiert definitiv.
AW: Daten einlesen
03.05.2012 16:43:01
Rudi
Hallo,
jepp.
Name sPfad & sFile As "c:\test\test\" & sFile
oder auch
Name sPfad & sFile As sPfad & "test\" & sFile
Gruß
Rudi
Anzeige
AW: Daten einlesen
03.05.2012 16:51:47
Joachim
Hallo Rudi
Funtioniert super Danke
Einen schönen Tag noch
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige