Bestimmte Zeilen am Blattende löschen (VBA)
10.07.2025 09:09:41
Erwin
ich erhalte immer wieder Auswertungen aus SAP, die unterschiedlich lang (Zeilen) und unterschiedlich breit (Spalten) sind.
Ich muss diese aufbereiten und am Tabellenende Zeilen löschen, dabei soll nur in den letzten 10 Zeilen nach dem Begriff "zuletzt geändert von*" gesucht werden.
Wenn dieser Begriff gefunden wurde, dann diese und die nächsten beiden Zeilen löschen.
Allerdings ist es so, dass die letzte Zeile nicht (immer) in Spalte A ist, sondern auch in anderen Spalten vorkommen kann.
Ich habe schon einen code, aber dieser durchsucht das ganze Blatt und das dauert bei 300.000 Zeilen ewig.im
Suchbegriff As String
Dim Bereich As Range
Suchbegriff = "zuletzt geändert von*"
Do
Set Bereich = ActiveSheet.Cells.Find(Suchbegriff, LookAt:=xlWhole)
If Bereich Is Nothing Then
Exit Do
Else
'keine Zeilen oberhalb, aber Zeile mit Suchbegriff und 2 Zeilen unterhalb markieren
Range(Bereich.Offset(0, 0), Bereich.Offset(2, 0)).EntireRow.Select
Selection.EntireRow.Delete
End If
Loop
Deshalb sollen nur die letzten 10 Zeilen aus Performancegründen durchsucht werden.
Danke schon in den frühen Morgenstunden.
Erwin
Anzeige