Microsoft Excel

Herbers Excel/VBA-Archiv

doppelte löschen

    Betrifft: doppelte löschen von: Julia
    Geschrieben am: 29.08.2003 09:15:17

    Hallo,
    ich muss für meinen Chef eine Excel-Tabelle als Sachregister erstellen. Leider kommen manche Schlagwörter in mehreren Kapiteln vor. Wie kann ich die Duplizierung des Schlagworts in der ersten Spalte löschen, jedoch Kapitel- und Seitenangabe in Zeile 2 und 3 stehen lassen?
    Ach ja, das ganze, wenn's geht, für 700 Einträge in einem - d.h. irgendwie automatisiert und nicht mit ENTF :-/
    Mittels Makro aufzeichnen und dann die jeweiligen Zeilen ENTF geht's auch nicht, da das Sachregister aktualisiert wird und sich die Zeilen, in denen die Doppeleinträge stehen, ändern können!

    Hat Excel irgend eine Funktion, wo es identische Zeileneinträge sucht, erkennt und dann auf Befehl auch löscht?
    Über eine Antwort würde ich mich sehr freuen!
    Gruß Julia

      


    Betrifft: AW: doppelte löschen von: Galenzo
    Geschrieben am: 29.08.2003 09:17:45

    Dafür bietet sich der "Spezialfilter" an:
    Bereich markieren, Menü DATEN / FILTER / SPEZIALFILTER, "An eine andere Stelle kopieren" und "Keine Duplikate" aktivieren, Ausgabebereich angeben




      


    Betrifft: AW: doppelte löschen von: Julia
    Geschrieben am: 29.08.2003 09:24:01

    Hey,

    wäre ja schön, klappt aber leider nicht. Die doppelten Einträge sind immer noch da!
    Hast du das selbst schon mal ausprobiert?
    Liegt es vielleicht daran, dass es sich um Text und nicht um Zahlen handelt?

    Grüße


      


    Betrifft: AW: doppelte löschen von: Galenzo
    Geschrieben am: 29.08.2003 09:40:30

    Ja, das liegt wohl daran. Ich habe es hier nämlich mit Zahlen probiert. Sorry


      


    Betrifft: AW: doppelte löschen von: Hajo_Zi
    Geschrieben am: 29.08.2003 09:42:08

    Hallo Julia

    bei Spezialfilter sollte die Liste eine Überschrift haben (z.B. Fett formatiert)

    Gruß hajo


      


    Betrifft: AW: doppelte löschen - prima von: Galenzo
    Geschrieben am: 29.08.2003 09:51:07

    Toll, dann geht es ja auch bei Text!
    - Wieder was gelernt :-)


      


    Betrifft: AW: Danke für die Rückmeldung oT von: Hajo_Zi
    Geschrieben am: 29.08.2003 09:53:13




      


    Betrifft: AW: doppelte löschen von: Galenzo
    Geschrieben am: 29.08.2003 09:49:08

    Für Textwerte kannst du diese Prozedur verwenden.
    (Für Spalte A)

    Sub DoppelteWeg()
        Dim i As Integer, iRows As Integer
        iRows = Cells(Cells.Rows.Count, 1).End(xlUp).Row
        For i = iRows To 1 Step -1
            If WorksheetFunction.CountIf(Columns(1), Cells(i, 1)) > 1 Then
                Rows(i).Delete
            End If
        Next i
    End Sub
    



      


    Betrifft: AW: doppelte löschen von: Julia
    Geschrieben am: 29.08.2003 09:52:36

    Danke. Klappt. Löscht aber leider die ganzen Zeilen, sodass Kapitel- und Seitenangabe auch weg sind.
    *heul*


      


    Betrifft: Nachfrage von: Martin Beck
    Geschrieben am: 29.08.2003 10:03:24

    Hallo Julia,

    ich nehme an, Du meinst statt Zeile 2 und 3 die Spalte B und C, so daß jeder Datensatz den Aufbau Schlagwort, Kapitel, Seite hat. Ist das so richtig? Dann funktioniert nämlich der SPEZIALFILTER nicht, da die Datensätze nicht identisch sind.

    Ist die Tabelle nach Schlagwörtern sortiert, so daß gleiche Schlagwörter zeilenweise untereinander stehen? Wenn nein, wie weißt Du nach dem löschen, zu welchem Schlagwort die verbleibenden Kapitel- und Seitenangaben gehören?

    Gruß
    Martin Beck


      


    Betrifft: AW: Nachfrage von: Julia
    Geschrieben am: 29.08.2003 10:11:23

    Hallo Martin,

    ja, genau das meinte ich. Die Spalte A (so ist es richtig (ich hasse Excel)) enthält die Schlagwörter, alphabetisch sortiert, sodass - wie Du schon sagst - die gleichen Einträge untereinander stehen.
    Spalte B enthält die Seitenangaben, die zu den einzelnen Schlagwörtern gehören, und Spalte C die Kapitelnummer.
    Die letzten beiden Spalten sollen komplett stehen bleiben, während in der ersten Spalte Mehrfacheinträge gelöscht werden sollen.
    Das heißt, mit dem Spezialfilter könnte ich hier gar nicht arbeiten?
    Weißt Du eine Möglichkeit, wie es sonst funktionieren könnte?
    Grüße
    Julia


      


    Betrifft: Makro- und Formellösung von: Martin Beck
    Geschrieben am: 29.08.2003 10:40:16

    Hallo Julia,

    Makrolösung:

    Sub Mehrfacheinträge_löschen()
        'Dieses Makro dient dazu, in einer Tabelle untereinanderstehende Einträge
        'mit gleichem Inhalt zu entfernen. Die Vorgehensweise ist wie folgt:
        'Cursor in der Spalte, in der Mehrfacheinträge gelöscht werden sollen, in die
        'erste Zelle des Bereichs setzen, der durchsucht werden soll.
        'Anschließend Makro starten.
        Application.ScreenUpdating = False
        EZ = Selection.Row
        s = Selection.Column
        LZ = Selection.End(xlDown).Row
        For i = LZ To EZ + 1 Step -1
            If Cells(i, s) = Cells(i - 1, s) Then Cells(i, s).ClearContents
        Next i
        Application.ScreenUpdating = True
    End Sub
    



    Formellösung:

    Füge vor Spalte A eine neue Spalte an. Falls noch nicht vorhanden, gebe allen 4 Spalten eine Überschrift in der ersten Zeile. Trage dann in Zelle A2 folgende Formel ein:

    =WENN(B2=B1;"";B2)

    und kopieren die Formel so weit nach unten wie nötig. Markiere Spalte A und kopiere den Inhalt. Wähle dann BEARBEITEN-INHALTE EINFÜGEN-WERTE-OK. Lösche Spalte B.

    Gruß
    Martin Beck


      


    Betrifft: AW: Makro- und Formellösung von: Erich M.
    Geschrieben am: 30.08.2003 08:19:26

    Hallo Martin,

    funktioniert. Allerdings musste ich ergänzen:
    Dim EZ As Integer
    Dim s As Integer
    Dim LZ As Integer
    Dim i As Integer
    Ansonsten Fehlermeldung "Variable nicht definiert".

    Liegt das an einer grundsätzlichen einstellung bei mir?

    Danke!

    mfg
    Erich


      


    Betrifft: AW: Makro- und Formellösung von: Martin Beck
    Geschrieben am: 30.08.2003 23:08:36

    Hallo Erich,

    vermutlich hast Du Option Explicit eingestellt.

    Gruß
    Martin Beck


      


    Betrifft: Danke für die Rückmeldung! o.T. von: Erich M.
    Geschrieben am: 31.08.2003 07:22:22

    .


     

    Beiträge aus den Excel-Beispielen zum Thema " doppelte löschen"