Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
doppelte Datensätze löschen
02.06.2006 14:49:01
Karl
Hallo,
folgender Code soll in Tabelle1 alle Datensätze löschen, die auch in Tabelle2 vorkommen. Hierbei wird nur in der 1. Spalte gesucht.
Der Code wird erstmal korrekt ausgeführt, d.h. doppelte Datensätze werden gelöscht, aber beim ersten "neuen" Datensatz geht es nicht weiter und Excel rechnet sich ins Nirwana... Wo liegt der Fehler?
Danke an alle!
Karl

Private Sub CommandButton1_Click()
Dim wksA As Worksheet, wksB As Worksheet
Dim rng As Range
Dim iRow As Integer
Set wksA = Worksheets("Tabelle1")
Set wksB = Worksheets("Tabelle2")
iRow = 1
Do Until IsEmpty(wksA.Cells(iRow, 1))
Set rng = wksB.Columns(1).Find(wksA.Cells(iRow, 1))
If Not rng Is Nothing Then
wksA.Rows(iRow).Delete
End If
Loop
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: doppelte Datensätze löschen
02.06.2006 14:54:19
Gerd
Hi,
Spezialfilter, ohne Duplikate, ev. an andere Stelle kopieren.
mfg Gerd
AW: doppelte Datensätze löschen
02.06.2006 15:02:42
Karl
Hi Gerd,
danke, aber ich verstehe deine Antwort nicht genau...?
Was soll ich an anderer Stelle kopieren?
mfG,
Karl
AW: doppelte Datensätze löschen
02.06.2006 15:04:25
Gerd
Hi,
na das Filterergebnis, wenn du es an selber Stelle läßt, werden die doppelten
Datensätze nur ausgeblendet. Probier den Spezialfilter einfach mal aus.
mfg Gerd
AW: doppelte Datensätze löschen
02.06.2006 16:45:38
Karl
Hallo,
Spezialfilter ging irgendwie nicht, aber ich habe den Fehler gefunden. Dadurch dass die doppelten Datensätze gelöscht wurden, wurden in der iRow Zeile immer neue Datensätze geladen. Wenn nicht doppelt vorhanden, muss iRow um 1 erhöht werden.
Danke und Gruss, Karl

Private Sub CommandButton1_Click()
Dim wksA As Worksheet, wksB As Worksheet
Dim rng As Range
Dim iRow As Integer
Set wksA = Worksheets("Tabelle1")
Set wksB = Worksheets("Tabelle2")
iRow = 1
Do Until IsEmpty(wksA.Cells(iRow, 1))
Set rng = wksB.Columns(1).Find(wksA.Cells(iRow, 1))
If Not rng Is Nothing Then
wksA.Rows(iRow).Delete
Else: iRow = iRow + 1
End If
Loop
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige