Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
848to852
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
848to852
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Doppelte Datensätze löschen

Doppelte Datensätze löschen
27.02.2007 18:53:00
Fritz_W
Hallo Forumsbesucher,
in einer Tabelle nutze ich folgendes Makro, mit dem alle Datensätze aus der Tabelle entfernt werden (ausgenommen der jeweils erste Datensatz), wenn deren Eintrag in der Spalte A mehrfach enthalten ist.
Ich würde nun die Bedingungen wie folgt ändern/erweitern:
1. Die jeweilige Zeile soll nicht gelöscht werden, sondern es soll nur der Inhalt der Zellen im Bereich A:H
gelöscht werden.
2. Dies solll nur geschehen, wenn in Datensätzen sowohl der Eintrag in der Spalte A und H mehrfach
enthalten ist.
Ansonsten soll das Makro die ursprünglichen Bedingungen beinhalten.
Vielen Dank für eure Unterstützung.
Mfg
Fritz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Datensätze löschen
27.02.2007 20:25:17
Ramses
Hallo
Zeig doch mal dein jetzt verwendetes makro
Gruss Rainer
AW: Doppelte Datensätze löschen
27.02.2007 20:29:00
Fritz_W
Hallo Rainer,
bitte um Entschuldigung, den Code wollte ich eigentlich vorhin schon beifügen.
Gruß
Fritz
Hier ist der Code:

Sub DoppelteEntfernen()
Dim i&
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Application.WorksheetFunction.CountIf(Columns(1), Cells(i, 1).Value) > 1 Then _
Rows(i).Delete
Next i
End Sub

AW: Doppelte Datensätze löschen
27.02.2007 20:48:00
Ramses
Hallo
Probier mal

Sub Remove_Double_Data()
Dim i As Long, n As Long
Dim lastRow As Long
Dim chkCol1 As Integer, chkCol2 As Integer
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
chkCol1 = 1 'Spalte A
chkCol2 = 8 'Spalte H
'Hier nichts mehr ändern
'1 ist normalerweise die Datenbanküberschrift
For i = 2 To lastRow
For n = i + 1 To lastRow
If Cells(n, chkCol1) & Cells(n, chkCol2) = Cells(i, chkCol1) & Cells(i, chkCol2) _
Then            Range(Cells(n, chkCol1), Cells(n, chkCol2)).Clear
End If
Next n
Next i
End Sub

Gruss Rainer
Anzeige
AW: Doppelte Datensätze löschen
27.02.2007 20:59:00
Fritz_W
Hallo Rainer,
folgende Fehlermeldung: EndIf ohne If-Block!
Gruß
Fritz
AW: Doppelte Datensätze löschen
27.02.2007 21:06:27
Ramses
Hallo
Das ist sicher ein Fehler beim kopieren aus dem Forum.
Der Code wird nicht korrekt dargestellt.
Die If-Anweisung muss so aussehen
If Cells(n, chkCol1) & Cells(n, chkCol2) = Cells(i, chkCol1) & Cells(i, chkCol2) Then
Range(Cells(n, chkCol1), Cells(n, chkCol2)).Clear
End If
Gruss Rainer
Funktioniert! Nochmals vielen Dank (o.W.T.)
27.02.2007 21:15:00
Fritz_W

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige