ich habe ein Blatt mit sehr viele Datensätze (bis zu ca. 100.000 Zeilen - die Zeilenanzahl ist aber jedesmal variable).
Ich habe naivenhaft ein Makro gebastelt, das ohne Fehlermeldung funktioniert. Allerdings dauert es Stunden bis alles erledigt ist.
FRAGE: Kann mir BITTE jemand den Code so optimieren, dass die Durchlaufszeit des Makros wesentlich verkürzt wird?
Makro soll folgendes tun:
1. Wenn in Spalte G leere Zellen gibt, dann die ganze Zeile löschen
2. Wenn in Spalte G ein Betrag steht, aber in Spalte A in der dazu gehörigen Zeile nichts steht, dann sollen die Daten von der vorherigen Zeile aus der Spalte A-D reinkopiert werden.
Vielen Dank im Voraus für Eure Tipps!!
Hier kommt der Code:
Sub LoeschenLeereZelleninSpalteG()
Dim lgCount As Long
Dim lgLetzte As Long
lgLetzte = ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
For lgCount = lgLetzte To 2 Step -1
If Cells(lgCount, 7) = "" Then Rows(lgCount).Delete
Next
lgLetzte = ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
For lgCount = lgLetzte To 2 Step -1
If Cells(lgCount, 1) = "" Then
Range(Cells(lgCount - 1, 1), Cells(lgCount - 1, 4)).Copy Range(Cells(lgCount, 1), _
Cells(lgCount, 4))
End If
Next
End Sub