Ja das macht der Code ja auch. Mit
letzteZ1 = .Cells(Rows.Count, 1).End(xlUp).Row
stelle ich ja immer wieder die letzte benutzte Zeile fest und kopiere in die naechste. Da kann also eigentlich nichts ueberschrieben werden. Verstehe ich nicht ganz. Kenne ja deine Datei leider nicht. Ich poste dir hier mal noch die Schleifenversion. Ich gehe davon aus, dass Tabelle1 immer deine Zieltabelle ist, also die wo hinkopiert wird. Und dass aus allen anderen Tabellen kopiert werden soll.
Sub kopieren()
Dim tabQ As Worksheet, tabZ As Worksheet
Dim letzteZQ As Long, letzteZZ As Long, WSAnzahl As Long, a As Long
WSAnzahl = ThisWorkbook.Worksheets.Count
Set tabZ = ThisWorkbook.Sheets("Tabelle1")
For a = 2 To WSAnzahl
Set tabQ = ThisWorkbook.Sheets("Tabelle" & a)
With tabZ
letzteZZ = .Cells(Rows.Count, 1).End(xlUp).Row
letzteZQ = tabQ.Cells(Rows.Count, 1).End(xlUp).Row
tabQ.Range("A4:T" & letzteZQ).Copy
.Cells(letzteZZ + 1, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
Next
End Sub
|