Anzeige
Archiv - Navigation
1588to1592
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

Duplikate - alle Einträge löschen

Duplikate - alle Einträge löschen
27.10.2017 10:43:04
Jörg
Hallo Forum,
ich suche ein Makro, mit dem ich alle mehrfach vorkommenden Datensätze löschen kann.
D.h. es soll nicht ein Satz stehen bleiben wie bei dem Button "Duplikate entfernen" sondern tatsächlich alle Datensätze/Zeilen gelöscht werden.
Daten von A1 bis D500, der Schlüsselbegriff steht in Spalte A und kann auch mehr als 2 mal vorkommen.
Kann mir jemand helfen?
Danke, ciao Jörg

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zählenwenn >1
27.10.2017 11:12:14
Fennek
Hallo,
zähle die Anzahl mit der genannten Formel und lösche alle Zeilen mit "wahr"
mfg
AW: Zählenwenn >1
27.10.2017 11:55:51
Jörg
Hallo Fennek,
Danke für den Tip, ich wollte aber wenn möglich ohne Zusatzspalte / Formel auskommen und alles im Makro direkt händeln.
Ciao Jörg
AW: Duplikate - alle Einträge löschen
27.10.2017 12:06:37
Bernd
Hi,
meinst Du so:
Sub Gleiche_Loeschen_SpalteA()
Dim i As Long
Dim lngLastR As Long
lngLastR = Cells(Rows.Count, "A").End(xlUp).Row + 1
'Zellinhalte in Spalte A durch "" = Leerzelle ersetzen
Do
i = i + 1
Range(Cells(i + 1, "A"), Cells(lngLastR, "A")).Replace _
what:=Cells(i, "A").Value, replacement:="", lookat:=xlWhole
Loop While WorksheetFunction.CountIf(Range(Cells(i + 1, "A"), Cells(lngLastR, "A")), "") 
MfG Bernd
Anzeige
AW: Duplikate - alle Einträge löschen
27.10.2017 12:28:31
Jörg
Hallo Bernd,
leider nicht ganz. Bei Deiner Lösung bleibt immer ein Datensatz stehen, ich möchte aber alle Datensätze löschen, die den gleichen Schlüsselbegriff haben.
Ciao Jörg
AW: Duplikate - alle Einträge löschen
27.10.2017 12:34:47
Bernd
Hi, dann eventuell so:
Sub Zeilen_loeschen()
Dim rng As Range
Set rng = ActiveSheet.Range("A1:A500").Find(what:="Schlüsselbegriff", lookat:=xlWhole)
If rng Is Nothing Then
Exit Sub
Else
rng.EntireRow.Delete
End If
Do
Set rng = ActiveSheet.Cells.FindNext
If rng Is Nothing Then
Exit Sub
Else
rng.EntireRow.Delete
End If
Loop
End Sub
MfG Bernd
AW: Duplikate - alle Einträge löschen
27.10.2017 13:20:47
Jörg
Hallo Bernd,
fast perfekt - wie kriege ich das Makro jetzt noch dazu jeden Wert in Spalte A einmal als Schlüsselbegriff einzusetzen?
what:="Schlüsselbegriff"
Danke ciao Jörg
Anzeige
AW: Duplikate - alle Einträge löschen
27.10.2017 16:14:43
Werner
Hallo Bernd,
wenn in Zeile 1 Überschriften vorhanden sind (wenn nicht kannst du ja welche rein machen) dann z.B. so:
Option Explicit
Public Sub Doppler_raus()
Dim loLetzte As Long, ws As Worksheet
Set ws = Worksheets("Tabelle1") 'Blattname anpassen
Application.ScreenUpdating = False
With ws
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Set raBereich = .Range(.Cells(2, 5), .Cells(loLetzte, 5))
raBereich.FormulaLocal = "=WENN(ZÄHLENWENN(A:A;A2)>1;1;0)"
.Columns("A:E").AutoFilter
ws.Range("$A$2:$D$" & loLetzte).AutoFilter Field:=5, Criteria1:="1"
If ws.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count = 1 Then
If ws.AutoFilterMode Then ws.AutoFilterMode = False
ws.Columns("E:E").ClearContents
MsgBox "Keine doppelten Werte vorhanden."
Else
ws.AutoFilter.Range.Offset(1). _
Resize(ws.AutoFilter.Range.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible).Delete shift:=xlUp
If ws.AutoFilterMode Then ws.AutoFilterMode = False
ws.Columns("E:E").ClearContents
End If
End With
Set ws = Nothing
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
War natürlich Jörg gemeint. o.w.T.
27.10.2017 16:15:43
Werner
AW: War natürlich Jörg gemeint. o.w.T.
29.10.2017 13:25:33
Jörg
Hallo Werner,
vielen Dank dafür, ganau das was ich gesucht habe.
Musste nur eine Ergänzung vornehmen:
Dim raBereich As Range, da die Variable sonst nicht definiert war.
Ciao Jörg
Gerne u. Danke für die Rückmeldung.
29.10.2017 19:55:46
Werner
Hallo Jörg,
keine Ahnung wo mir das hin geraten ist. Die war definitiv drin, ich habe den Code ja bei mir getestet.
Aber du hast es ja hin gekriegt.
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige