Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro soll löschen
#1
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
Antworten Top
#2
Hallo,

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

Also: For i = LR To 4 Step -1
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • ari-2001
Antworten Top
#3
Hallo Andreas, :19:

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

Und dreh die Schleife - wie von Klaus-Dieter vorgeschlagen - um. :21:
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • ari-2001
Antworten Top
#4
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
Antworten Top
#5
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:
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • ari-2001
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste