Hallo,
manchmal ist es wesentlich einfacher, eine Zelle mit Cells( Zeilennummer , Spaltennummer) anzusprechen, als mit Range(....).
Dennoch habe ich beide Varianten drin gelassen:
Sub GetMeasurementDataFromClosedBook_2()
Dim src As Workbook
Dim lr As Long 'Quelle
Dim lrZiel As Long 'Ziel
Dim WsZiel As Worksheet
Set WsZiel = ThisWorkbook.Worksheets("GesamtData")
'erste Datei
Set src = Workbooks.Open("C:\Users\YL\Desktop\Testumgebung\Quellmappe1.xlsx", True, True)
lr = src.Worksheets("Tabelle1").Range("A" & src.Worksheets("Tabelle1").Rows.Count).End(xlUp).Row
lrZiel = WsZiel.Cells(WsZiel.Rows.Count, 1).End(xlUp).Row
If lrZiel <> 1 Then lrZiel = lrZiel + 1
src.Worksheets("Tabelle1").Range("A1:N" & lr).Copy Destination:=WsZiel.Cells(lrZiel, 1)
src.Close False
'zweite Datei
Set src = Workbooks.Open("C:\Users\YL\Desktop\Testumgebung\Quellmappe2.xlsx", True, True)
lr = src.Worksheets("Tabelle1").Range("A" & src.Worksheets("Tabelle1").Rows.Count).End(xlUp).Row
lrZiel = WsZiel.Cells(WsZiel.Rows.Count, 1).End(xlUp).Row + 1
src.Worksheets("Tabelle1").Range("A1:D" & lr).Copy Destination:=WsZiel.Cells(lrZiel, 1)
src.Close False
Set src = Nothing
Set WsZiel = Nothing
End Sub
Dieser Code ist nicht getestet (das überlasse ich dir ;-) ).
Grüße, Ulrich
|