Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen löschen mehrere Bedinungen

Forumthread: Zeilen löschen mehrere Bedinungen

Zeilen löschen mehrere Bedinungen
27.05.2018 16:31:34
Simone
Schönen guten Tab,
kann mir jemand bei einem Makro helfen?
Er soll Spalte E folgendes Prüfen
wenn "Ergebnisse " gefunden
Und die Zeile darunter = "Bezeichnung"
Und unter dieser Zeile = "Vorbehandlung"
Dann löschen
sonst nichts
Wieder von vorne angefangen bis er nichts mehr findet
Hab das versucht aber schaffe es nur mit einer Bedinung
Sub loeschen_FKE()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 5).End(xlUp).Row To 1 Step -1
If Cells(i, 5) = "Ergebnisse " Then Rows(i).EntireRow.Delete
Next i
Application.ScreenUpdating = True
End Sub

Liebe Grüße, Simone
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen mehrere Bedinungen
27.05.2018 16:37:14
Hajo_Zi
Hallo Simone,
If Cells(i, 5) = "Ergebnisse " and Cells(i-1, 5) = "Behandlung" an Cells(i-2, 5) = "Vorbehandlung" Then Rows(i).EntireRow.Delete

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Zeilen löschen mehrere Bedinungen
27.05.2018 16:43:14
Daniel
Hi
mehrere Bedingungen, die gleichzeitig erfüllt sein müssen, kannst du mit AND einbringen:
If Cells(i, 5) = "Ergebnisse " AND Cells(i + 1, 5) = "Bezeichnung" AND Cells(i + 2, 5) = "Vorbehandlung" Then Rows(i).EntireRow.Delete
oder du verkettest die Inhalte der drei Zellen zu einem Wert und prüfst dann diesen Text:
If Cells(i, 5) & Cells(i + 1, 5) & Cells(i + 2, 5) = "Ergebnisse BezeichnungVorbehandlung" Then Rows(i).EntireRow.Delete
wenn alle 3 Zeilen gelöscht werden sollen, nimmst du statt
rows(i).Delete

dann
Rows(i).Resize(3).Delete
Gruß Daniel
Anzeige
AW: Zeilen löschen mehrere Bedinungen
27.05.2018 17:23:18
Gerd
Moin Simone!
Sub loeschen_FKE()
Dim i As Long, X As Range
Application.ScreenUpdating = False
Set X = Cells(Rows.Count, 5)
For i = X.End(xlUp).Row - 2 To 1 Step -1
If Cells(i, 5) = "Ergebnisse " Then
If Cells(i + 1, 5) = "Bezeichnung" Then
If Cells(i + 2, 5) = "Vorbehandlung" Then
Set X = Union(Cells(i, 5).Resize(3), X)
End If
End If
End If
Next i
X.EntireRow.Delete
Set X = Nothing
Application.ScreenUpdating = True
End Sub

Gruß Gerd
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige