Clever-Excel-Forum

Normale Version: Makro soll löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich suche folgenden Fehler:

Das Makro vergleicht, ob verschiedene Kriterien erfüllt sind,
wenn diese erfüllt sind, soll die Zeile gelöscht werden.

mit .entire.row.delete klappt es nicht, wie lautet die richtige Anweisung in folgendem Makro:

Sub Neu772()
    Dim LR As Long, i As Long
    Application.ScreenUpdating = False
   
    With Sheets("Testblatt")
        If .FilterMode Then .ShowAllData ' Autofilter alle
       
        LR = .Cells(.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte
       
        For i = 4 To LR
            If .Cells(i, 2) = "772" Then
               
                If InStr(.Cells(i, 4), "Bar.") > 0 Or InStr(.Cells(i, 4), "Blo.") > 0 _
                    Or InStr(.Cells(i, 4), "H-B.M.") > 0 Then
                       
                        If InStr(.Cells(i, 6), "Bar.") > 0 Or InStr(.Cells(i, 6), "Blo.") > 0 _
                            Or InStr(.Cells(i, 6), "H-B.M.") > 0 Then


                                .Cells(i, 2) = entire.row.delette
                        End If
               
                End If
               
            End If
        Next
    End With
    Application.ScreenUpdating = True
End Sub


Kann mir jemand helfen?

Das Makro funktioniert, bis auf, dass er die gefunden Zeilen nicht löscht.

Vielen Dank im Voraus.
Andreas
Hallo,

zum Löschen von Zeilen muss die Schleife von unten nach oben  laufen.

Also: For i = LR To 4 Step -1
Hallo Andreas, :19:

Code:
.Cells(i, 2).EntireRow.Delete

Und dreh die Schleife - wie von Klaus-Dieter vorgeschlagen - um. :21:
Hallo ihr zwei,

vielen lieben Dank, funzt.

Mit dem Makro schaffe ich es jetzt ja, zu löschen, umzubenennen usw. usw.

Wie lautet denn die Anweisung, wenn er die gefundene Zeile KOPIEREN und gelb markieren soll?
Damit man die kopierten Zeilen besser finden kann?

Viele Grüße
Andreas
Hallo, :19:

kopieren...
Code:
.Cells(i, 2).EntireRow.Copy

färben...
Code:
.Cells(i, 2).EntireRow.Interior.ColorIndex = 28

Wobei ich nicht unbedingt ganze Zeilen färben würde - aber das wäre mal grundsätzlich die Antwort auf deine Fragen. :21: