Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Doppelte Wörter in einer Zelle löschen

Doppelte Wörter in einer Zelle löschen
19.06.2017 15:51:09
Marcel
Hallo zusammen,
ich habe eine Spalte ca. 5000 Zellen mit jeweils vielen Begriffen. Alle Begriffe sind mit einem Leerzeichen getrennt. Dabei kann es vorkommen, dass in einer Zelle manche Begriffe doppelt vorkommen.
Die Frage ist nun, ob es eine Möglichkeit gibt Zellen in einem gewissen Bereich nach doppelten Wörtern zu durchsuchen und diese dann automatisch zu löschen?
Beispiel:
Zelle1: haus tisch haus -- haus tisch
Zelle2: haus haus tisch -- haus tisch
Zelle3: tisch frau tisch -- tisch frau
Zelle4: tür dame tür -- tür dame
Danke und Grüße
Marcel
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Wörter in einer Zelle löschen
19.06.2017 16:25:01
{Boris}
Hi Marcel,
teste mal (vorher die fraglichen Zellen selektieren):
Option Explicit
Sub DoppelteWeg()
Dim objDict As Object
Dim C As Range
Dim arr() As String
Dim i As Long
Const STR_TRENNER As String = " "
For Each C In Selection
arr = Split(C.Value, STR_TRENNER)
Set objDict = CreateObject("Scripting.Dictionary")
For i = 0 To UBound(arr)
objDict(Trim(arr(i))) = 0
Next
C.Value = Join(objDict.Keys, STR_TRENNER)
Next
End Sub
VG, Boris
Anzeige
AW: Doppelte Wörter in einer Zelle löschen
19.06.2017 16:58:56
Daniel
Hi
da VBA-nein hier eine Lösung ohne VBA.
1. die Werte sollten in Tabelle1 Spalte A stehen, die Spalten daneben müssen frei sein (ggf in eine neue Tabelle kopieren)
2. Teile die Werte aus Spalte A mit der Funktion DATEN - DATENTOOLS - TEXT IN SPALTEN und dem Leerzeichen als Trennzeichen in mehrere Spalten auf
3. füge in einem zweiten Tabellenblatt in die Zelle A1 diese Formel ein:
=GLÄTTEN(Tabelle1!A1&" "&WECHSELN(" "&B1&" ";" "&Tabelle1!A1&" ";" "))

ziehe diese Formel soweit nach rechts und nach unten wie benötigt.
in Spalte A der zweiten Tabelle steht das gewünschte Ergebnis.
Gruß Daniel
Anzeige
Mit VBA-basierten UDFs äußerst simpel, ...
20.06.2017 02:19:42
Luc:-?
…Marcel,
falls du so etwas anzuwenden verstehst und auch anwenden darfst, nämlich so: =VJoin(VSplit(A16);;-1)
Die beiden UDFs sind in folgd BspDatei zu finden: https://www.herber.de/bbs/user/99024.xlsm
Feedback nicht unerwünscht! Morrn, Luc :-?
Besser informiert mit …
Anzeige
Danke allen - Lösung(en) gefunden!
20.06.2017 08:26:14
Marcel
Hallo zusammen,
danke für die vielen Antworten!
@Boris: funktioniert super - danke!
@onur: auch Deine Lösung klappt prima - danke!
@Daniel: Funktioniert sicher auch aber mit den Lösungen von Boris und onur (VBA in ein Modul kopieren bekomme ich hin) komme ich schneller ans Ziel. Trotzdem danke, auch für die Aufmerksamkeit! ;)
@Fennek: Danke, aber Lösungen von Boris und onur funktionieren.
@Luc: Danke auch Dir für die Mühe aber ich muss ehrlich sagen, dass ich die Datei nicht wirklich verstanden habe. :/
Viele Grüße
Marcel
Anzeige
Aus der BspDatei häätest du die beiden UDFs ...
20.06.2017 19:33:23
Luc:-?
…mit diesen Namen herauskopieren sollen, Marcel!
Luc :-?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Doppelte Wörter in einer Zelle löschen


Schritt-für-Schritt-Anleitung

Um doppelte Wörter in einer Zelle in Excel zu löschen, kannst Du eine VBA-Lösung oder eine Formel verwenden. Hier sind die Schritte für beide Methoden:

VBA-Methode:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    Sub DoppelteWeg()
        Dim objDict As Object
        Dim C As Range
        Dim arr() As String
        Dim i As Long
        Const STR_TRENNER As String = " "
        For Each C In Selection
            arr = Split(C.Value, STR_TRENNER)
            Set objDict = CreateObject("Scripting.Dictionary")
            For i = 0 To UBound(arr)
                objDict(Trim(arr(i))) = 0
            Next
            C.Value = Join(objDict.Keys, STR_TRENNER)
        Next
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Wähle die Zellen aus, die Du bearbeiten möchtest.

  6. Drücke ALT + F8, wähle DoppelteWeg aus und klicke auf Ausführen.

Formel-Methode:

  1. Stelle sicher, dass die Werte in Spalte A deiner Tabelle stehen.

  2. Teile die Werte aus Spalte A mit Daten - Datentools - Text in Spalten und wähle das Leerzeichen als Trennzeichen.

  3. Füge in ein benachbartes Feld die folgende Formel ein:

    =GLÄTTEN(Tabelle1!A1 & " " & WECHSELN(" " & B1 & " "; " " & Tabelle1!A1 & " "; " "))
  4. Ziehe die Formel nach rechts und unten, um alle Zellen zu bearbeiten.


Häufige Fehler und Lösungen

  • Fehler: Die VBA-Methode funktioniert nicht.

    • Lösung: Stelle sicher, dass Du die richtigen Zellen ausgewählt hast, bevor Du das Makro ausführst.
  • Fehler: Die Formel zeigt #WERT! an.

    • Lösung: Überprüfe, ob die Zellen, auf die Du verweist, tatsächlich Daten enthalten.
  • Fehler: Doppelte Wörter werden nicht entfernt.

    • Lösung: Stelle sicher, dass Du die Formel oder das Makro korrekt angewendet hast. Überprüfe die Eingabewerte auf unerwartete Leerzeichen.

Alternative Methoden

Eine weitere Möglichkeit, doppelte Wörter in Excel zu finden und zu entfernen, ist die Verwendung von Excel-Add-Ins oder externen Tools wie RegEx. Diese Tools bieten oft erweiterte Funktionen, um doppelte Wörter zu identifizieren und zu löschen.


Praktische Beispiele

  • Beispiel 1: Wenn Du die Zelle A1 mit dem Inhalt "haus tisch haus" hast, wird die Anwendung der VBA-Methode oder der Formel das Ergebnis "haus tisch" liefern.

  • Beispiel 2: In der Zelle B1 mit "tisch frau tisch" wird nach der Bereinigung nur "tisch frau" angezeigt.

Diese Beispiele zeigen, wie effektiv die Methoden sind, um doppelte Wörter zu entfernen und die Daten zu bereinigen.


Tipps für Profis

  • Regelmäßige Bereinigung: Nutze die VBA-Methode regelmäßig, um Deine Datenbank sauber zu halten.
  • Makros speichern: Speichere Deine Makros in einer personalisierten Arbeitsmappe, um sie schnell wiederverwenden zu können.
  • Testen: Teste Deine Formeln und Makros zunächst an einer kleinen Datenmenge, um sicherzustellen, dass sie wie gewünscht funktionieren.

FAQ: Häufige Fragen

1. Wie kann ich doppelte Wörter in einer Zelle automatisch löschen? Mit der VBA-Methode oder der bereitgestellten Formel kannst Du doppelte Wörter in einer Zelle automatisch entfernen.

2. Gibt es eine Möglichkeit, doppelte Wörter ohne VBA zu entfernen? Ja, Du kannst die Text-in-Spalten-Funktion und eine passende Formel verwenden, um doppelte Wörter in Excel zu löschen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige