Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Doppelter Eintrag löschen funktioniert nicht

Doppelter Eintrag löschen funktioniert nicht
02.05.2013 12:36:34
Andreas
Hallo an alle hier,
hoffe, Ihr hatten einen guten 1.Mai !
Ich habe eine Datei, in der ich doppelte Einträge löschen möchte.
Doch leider tut dieses Makro (habe ich hier aus dem Forum)es nicht.
Die datei hat 7000 Zeilen und ist ca. 1,7 MB groß, deshalb kann ich diese nicht hochladen. Vielleicht kann jemand hier mal drauf schauen und kann
schon erkennen, wo eventuell der Fehler liegt.
Wenn ich das Makro ausführe dann "zuckt" Excel nur und wenn ich mit ESC abbreche.
lande ich im Debugger immer beim ersten "End If".
Über eine Hilfe wäre ich dankbar.
Andreas
Sub Doppelte_Artikel_Einträge_löschen()
' Doppelte_Einträge_löschen Makro
''Abfragebox für sicheres übernehmen
Dim lngZeile As Long, Loletzte&
Dim strQuest As String
strQuest = MsgBox("       doppelte Einträge löschen....sicher?  ", vbYesNo + vbQuestion, "")
If strQuest = vbNo Then Exit Sub
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
'  ab Zeile  löschen- hier 100
For lngZeile = Loletzte To 100 Step -1
If lngZeile > 100 Then
If Application.CountIf(Columns(1), Cells(lngZeile, 1)) > 1 Then
Rows(lngZeile).Delete
End If
Else
Exit For
End If
Next lngZeile
End Sub

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 12:47:26
Hajo_Zi
Hallo andreas,
es wird Spalte A geprüft, das ist schon korrekt?
Begriffe mit Leerstellen sind nicht gleich Begriffe ohne Leeerstellen.
Gruß Hajo

AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 13:10:33
Andreas
Hallo Hajo
Spalte A wird überprüft - das ist auch richtig so.
habe in Spalte A stehen:
W123456
W234567
WA123456
123
HR567839
123
usw.
Alles ohne Leerzeichen am Anfang der Zelle und kein Leerzeichen dazwischen.
Andreas
Bei einer anderen Datei funktioniert dieses.
Da sind aber nur Zahlen in Spalte A.
Andreas

Anzeige
AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 13:11:51
Hajo_Zi
Hallo Andreas,
es können auch Leerzeichen am Ende sein.
Gruß Hajo

AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 13:55:50
Andreas
Hi Hajo
Ich habe die zahlen mit
~f~=Glätten (A1)
von leerzeichen befreit.
trotzdem funktioniert dieses nicht.
Am Ende habe ich Testzahlen (123, 456,789, ) usw. eingegeben.
dennoch kein Erfolg.
matthias hat ja auch geantwortet. Da habe ich das Makro her.
Andreas

AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 13:58:14
Hajo_Zi
Hallo Andreas,
und ich bin raus. Ich kann es nicht leiden wwenn ein Beitrag in mehreren Beiträgen fortgeführt wird.
Gruß Hajo

Anzeige
AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 14:03:55
Andreas
Hi Hajo
es haben mir drei leute geantwortet, denen habe ich ebenfalls geantwortet.
ist das schlimm. ich wollte nur zu jeden zu seinen Ausführungen mich erklären.
was soll ich denn sonst machen.
Und matthias hat den Orginalbeitrag eingeschrieben. der lief aber schon letzte Woche.
Ich wollte keinen auf den Schlips treten.
Andreas

AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 15:01:03
fcs
Hallo Andreas,
wahrscheinlich laufen in deiner Tabelle Formeln mit umfangreichen Berechnungen oder Makros. die automatisch bei Zellwertänderungen starten.
Damit das Makro schneller läuft solltest du im Makro vor Beginn der Löschaktionen die Bildschirmaktualisierung und Ereignismakros deaktivieren und die Berechnung auf "manuell" setzen.
Danach dann wieder aktivieren bzw. auf "automatisch" setzen.
Ich empfehle die folgende Variante des Makros. Sie ist deutlich schneller in der Ausführung.
Gruß
Franz
Sub Doppelte_Artikel_Einträge_löschen_2()
' Doppelte_Einträge_löschen Makro
''Abfragebox für sicheres übernehmen
Dim lngZeile As Long, Loletzte&, wks As Worksheet, rngZelle As Range, bolLoeschen As Boolean
Dim strQuest As String
strQuest = MsgBox("       doppelte Einträge löschen....sicher?  ", vbYesNo + vbQuestion, "")
If strQuest = vbNo Then Exit Sub
Set wks = ActiveSheet
With wks
Set rngZelle = .Cells.Find(what:="*", After:=.Cells(1, 1), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
If rngZelle Is Nothing Then
MsgBox "Keine Daten im Tabellenblatt"
Else
'Makrobremsen lösen
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Loletzte = rngZelle.Row
Const ZeileStart As Long = 100 '  ab Zeile  löschen- hier 100
For lngZeile = ZeileStart To Loletzte
If Application.CountIf(.Range(.Cells(1, 1), .Cells(lngZeile, 1)), _
.Cells(lngZeile, 1)) > 1 Then
.Cells(lngZeile, 1).ClearContents
bolLoeschen = True
End If
Next lngZeile
If bolLoeschen = True Then
With .Range(.Cells(ZeileStart, 1), .Cells(Loletzte, 1))
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End If
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End If
End With
End Sub

Anzeige
AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 13:35:43
Rudi
Hallo,
du löschst im Bereich A100:Axxxx. Ist das beabsichtigt?
Gruß
Rudi

AW: Doppelter Eintrag löschen funktioniert nicht
02.05.2013 13:58:30
Andreas
Hallo Rudi
ja, stimmt ich lösche ab Zeile 100, da weiter oben eventuell gleiche Daten stehen, die stehen bleiben müssen.
Habe auch die Zeilen angepasst ( mal ab 10 löschen usw. ) aber ohne Erfolg.
Andreas

AW: hier der Orginalbeitrag ...
02.05.2013 14:36:33
Andreas
Hallo Matthias
ist richtig, das Makro habe ich von Dir. Weisst du warum dieses hier nicht läuft.
In einer anderen Datei läuft es einwandfrei.
Andreas

Anzeige
Bei mir läuft es durch ...
02.05.2013 14:47:05
Matthias
Hallo
7000 Einträge in Spalte("A")
davon sind 1400 Einträge 5x vorhanden
Bei dieser Menge von Daten würde ich aber die Bildschirmaktualisierung, sowie die automatische Berechnung erst deaktivieren und dannach wieder aktivieren.
https://www.herber.de/bbs/user/85168.xlsm
Gruß Matthias

AW: Bei mir läuft es durch ...
02.05.2013 15:02:13
Andreas
Hallo
es kommen immer ca 100 Einträge dazu, welche ich natürlich unten einfüge.
Dann wollte ich das Macro so ändern, das ich halt nur die untersten 120 Zeilen überprüfen kann.
Ich habe da eine bedingte Formatierung drin, die mir zeigt, welche Zeile doppelt ist. Kann es da dran liegen.
Wenn nicht funtioniert, werde ich mir die Arbeit machen müssen, es einmal von Hand zu säubern. Dauert halt und ist schei....
die datei ist ja zu groß um sie hier mal zu posten.
Andreas

Anzeige
... To Loletzte - 119 Step -1
02.05.2013 15:19:15
Matthias
Hallo
Ich habe da eine bedingte Formatierung drin, die mir zeigt, welche Zeile doppelt ist. Kann es da dran liegen.
Für was denn das, ich denke das soll das Makro erledigen.
Außerdem brauchst Du es doch nur zu Testen in dem Du das bedingte Format einfach mal löschst.
  • Dann wollte ich das Macro so ändern, das ich halt nur die untersten 120 Zeilen überprüfen kann
  • .
    Warum auch immer, dann mußt Du nur die Zeile ändern:
    For lngZeile = Loletzte To Loletzte - 119 Step -1
    
    Gruß Matthias

    AW: ... To Loletzte - 119 Step -1
    02.05.2013 15:48:14
    Andreas
    Hallo Matthias
    danke dir nochmals für deine Hilfe.
    Hast mir ja das erstemal schon sehr geholfen.
    ich muss halt noch viel dazu lernen.
    danke nochmal und schönen Abend noch.
    Andreas

    Anzeige
    AW: Bei mir läuft es durch ...
    02.05.2013 15:20:52
    fcs
    Hallo Andreas,
    hier weiter oben mein Vorschlag
    https://www.herber.de/forum/messages/1311389.html
    Mathias Hinweis bezüglich Bildschirmaktualisierung und Berechnungsmodus ist integriert.
    Gruß
    Franz

    AW: Bei mir läuft es durch ...
    02.05.2013 15:46:20
    Andreas
    Hallo Franz
    dein verbessertes Makro läuft jetzt auch bei mir durch.
    Große Klasse.
    Hast mir geholfen. Danke hierfür.
    geht sehr schnell und löscht alle doppelten raus.
    Danke nochmal.
    Schönen Abend noch.
    Gruß Andreas

    308 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige