3.9k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
ich möchte z.B. aus Datei A bis D jeweils eine Tabelle aus dem jeweils 1. Blatt in das 1. Blatt einer Datei E kopieren und hintereinander darstellen.

Zusätzliche Schwierigkeit:
- Die Daten befinden sich immer ab Zeile 3, aber die einzelnen Tabellen sind unterschiedlich lang, z.B. A3 bis E20, ein anderes
mal A3 bis E45.

Hoffe da gibt es eine einfache Lösung?!
Danke für Eure Hilfe!

Gruß
hpoelleritzer

1 Antwort

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi hpoelleritzer ^^

probier mal :-)

gruss nighty

der pfad ist an zwei positionen anzupassen

Option Explicit
Sub DateienLesen()
Call EventsOff
Dim DateiName As String
DateiName = Dir("C:\Temp\" & "*.xls")
Do While DateiName <> ""
If ThisWorkbook.Name <> DateiName Then
Workbooks.Open Filename:="C:\Temp\" & DateiName
Workbooks(DateiName).Worksheets(1).Range("A3:E" & Workbooks(DateiName).Worksheets(1).Range("A" & Rows.Count).End(xlUp).Row).Copy _
ThisWorkbook.Worksheets(1).Range("A" & ThisWorkbook.Worksheets(1).Range("A" & Rows.Count).End(xlUp).Row + 1)
Workbooks(DateiName).Close SaveChanges:=True
End If
DateiName = Dir
Loop
Call EventsOn
End Sub


Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub


Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
...