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

Zeilen löschen, wenn hintereinander gleicher Text

Zeilen löschen, wenn hintereinander gleicher Text
18.07.2017 10:16:50
Lisa
Guten Morgen Schwarmintellgienz!
Folendes möchte ich mit VBA machen:
Wenn in Spalte A in mehr als zwei Zeilen hinereinander der Text "XXX" steht, dann sollen alle Zeilen, die diesen Text in Spalte A enthalten gelöscht werden, bis auf die letzte.
A
1 XXX
2 XXX
3 XXX
4 YYYYY
Sprich: In diesem Fall soll bitte Zeile 1 und 2 gelöscht werden.
Hat jemand eine Idee?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen...
18.07.2017 10:22:17
Bernd
Hi,
aus dem Netz und zum probieren:
Option Explicit

Sub x()
Dim rng As Range, ar As Variant, i As Long, j As Long
Set rng = Range(Range("A1"), Range("A1").End(xlDown))
ar = rng.Value
j = 2
For i = 2 To UBound(ar)
If ar(i, 1)  ar(i - 1, 1) Then
ar(j, 1) = ar(i, 1)
j = j + 1
End If
Next
For i = j To UBound(ar)
ar(i, 1) = ""
Next
rng.Value = ar
End Sub
MfG Bernd
AW: Zeilen löschen, wenn hintereinander g
18.07.2017 10:27:29
Daniel
Hi
schreibe in die erste freie Spalte am Tabellenende diese Formel in die Zeile 1:
=Wenn(Und(A1="XXX";A2="XXX");0;Zeile())

bzw wenns beliebiger Text ist:
=Wenn(A1=A2;"0;Zeile())"
ziehe die Formel dann bis zum Tabellenende runter.
Schreibe in die erste Zeile der Hilfsspalte auf jeden Fall die 0 (auch wenn die Formel was anderes ausgibt)
Wende dann auf die ganze Tabelle die Funktion DATEN - DATENTOOSL - DUPLIAKTE ENTFERNEN an, mit der Hilfsspalte als Kriteriumsspalte und der Einstellung "keine Überschrift"
Die erste Zeile mit 0 wird prinzipbedingt nicht gelöscht.
Sollte die erste Zeile eine Überschriftenzeile sein, dann passt es.
Wenn du keine Überschrift hast, müsstest du diese Zeile nochmal manuell prüfen und ggf löschen.
Gruß Daniel
Anzeige
AW: Zeilen löschen, wenn hintereinander g
18.07.2017 10:41:17
Lisa
Hallo Daniel,
danke für die schnelle Antwort! Wenn ich das so mache, dann steht in der Zelle nur #NAME?
Weißt du woran das liegen könnte?
AW: Zeilen löschen, wenn hintereinander g
18.07.2017 10:47:46
Daniel
Hi
sorry, bei der zweiten Variante müssen die Anführungszeichen weg.
=Wenn(A1=A2;0;Zeile())
aber das Prinzip ist einfach: schreibe in die erste freie Spalte eine Formel, welche alle Zeilen, die gelöscht werden sollen mit 0 kennzeichnet und alle die stehen bleiben müssen mit der aktuellen Zeilennummer.
Dann lassen sich die Zeilen mit 0 (außer der ersten Zeile mit 0) schnell und einfach über das Duplikate entfernen löschen.
wenn du die erste Variante gewählt hast, dann hast du vielleicht kein deutsches Excel und müsstest die Formeln noch anpassen.
Gruß Daniel
Anzeige

337 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige