Hallo Gast89822,
vielen Dank für deinen übersichtlicheren Code. Es funktioniert wunderbar, bis auf eine Kleinigkeit. Wenn im "Bereich-Sheet" keine Daten sondern nur die Titelzeile A1 ist, dann kopiert er die A1 und nicht "leere Zeile" ab A2. (sprich dann habe ich im "Datenpool" öfters die Titelzeile zwischendurch, was ich nicht will).
Ich habe außerdem noch ein paar Verständnisfragen, damit ich für die Zukunft lerne:
a) Wenn man "With- End With" verwendet dann braucht man grundsätzlich kein "destination:=" nach Copy mehr??
b) Warum braucht man den Punkt vor Range in den Klammern immer? =>Range(.Range("A2"), .Range
Ich habe es zum besseren Verständnis ohne Punkt versucht, aber dann wird nur die erste Titelzeile immer x-fach eingefügt. Bin nicht auf eine Erklärung gekommen.
c) Wo ist mein Denkfehler beim ursprünglichen Versuch (Copy Destination:=ThisWorkbook.Sheets("Datenpool").Range("A2").End(xlDown).Offset(1, 0))?
DANKE,
Meli
Sub DatenpoolBefüllen_neu()
With Sheets("Bereich I")
Range(.Range("A2"), .Range("AB" & .Rows.Count).End(xlUp)).Copy _
Sheets("Datenpool").Range("A2")
End With
With Sheets("Bereich II")
Range(.Range("A2"), .Range("AB" & .Rows.Count).End(xlUp)).Copy _
Sheets("Datenpool").Range("A2")
End With
With Sheets("Bereich III")
Range(.Range("A2"), .Range("AB" & .Rows.Count).End(xlUp)).Copy _
Sheets("Datenpool").Range("A" & .Rows.Count).End(xlUp).Offset(1)
End With
With Sheets("Bereich IV")
Range(.Range("A2"), .Range("AB" & .Rows.Count).End(xlUp)).Copy _
Sheets("Datenpool").Range("A" & .Rows.Count).End(xlUp).Offset(1)
End With
End Sub
|