Hallo zusammen,
ich habe einen gut funktionieren Code, der mir Zeilen, die in Spalte M mit einem Datum versehen sind, in ein anderes Tabellenblatt verschiebt. Dort wird es in der ersten freien Zeile wieder eingefügt.
Nun ist es aber so, dass in meiner Zieltabelle bereits über 2000 Zeilen drin sind und ich meine, dass das Makro immer länger braucht, um die Zeilen zu verschieben.
Jetzt meine Frage, gibt es eine Möglichkeit, mein Makro etwas zu tunen um es schneller zu machen (bringt es z.B. was, wenn man in der Zieltabelle erst ab der Zeile 2000 eine leere Zeile suchen lässt?) und mir gleichzeitig erklären, was und wie es funktioniert? Wäre absolut klasse.
Private Sub Workbook_Open()
Dim lngLetzte As Long
Dim lngZeile As Long
With Worksheets("Erledigt")
lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 2)), .Cells(.Rows.Count, 2).End(xlUp).Row, .Rows.Count) + 1
End With
With Worksheets("Start")
For lngZeile = IIf(IsEmpty(.Cells(.Rows.Count, 2)), .Cells(.Rows.Count, 2).End(xlUp).Row, .Rows.Count) To 2 Step -1
If .Cells(lngZeile, 13) >= 1 Then
.Range(.Cells(lngZeile, 1), .Cells(lngZeile, 21)).Cut Worksheets("Ziel").Cells(lngLetzte, 1)
.Rows(lngZeile).Delete
lngLetzte = lngLetzte + 1
End If
Next lngZeile
End With
End Sub
Vielen Dank schon mal im Voraus.
VG
Florian