Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige