Hallo,
im Befehl ActiveSheet.Range(Cells(2,4) bedeutet die 2 in der Tat, dass in der Spalte die 2. Zeile markiert werden soll.
Wenn auch Lücken in der Spalte vorhanden sind, und dennoch alle Zeilen mit kopiert werden sollen, funktioniert dieser Code besser:
Dim rng As Range
Set rng = Intersect(ActiveSheet.UsedRange, Range("D:D"))
Set rng = rng.Offset(1).Resize(rng.Rows.Count - 1)
rng.Copy
Dieser Code nimmt alle Zellen im Benutzten Bereich und nimmt nur die Spalte D
Mit Offset wird die erste Zeile herausgenommen und mit Resize wird die Größe wiederum angepasst.
Allerdings kann es bei dieser Lösung dazu kommen, dass zuviele Zeilen kopiert werden, wen in den anderen Spalten mehr Zeilen belegt werden.
LG, BigBen
|