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

Forumthread: Doppelte Werte in einer Zelle entfernen

Doppelte Werte in einer Zelle entfernen
20.02.2006 11:50:29
Kater
Hallo Leute.
Ich habe ein Problem mit einer Excel Tabelle und hoffe ihr könnt mir weiterhelfen.
Das Problem gestaltet sich wie folgt:
Ich habe eine Exceltabelle mit vielen Einträgen in einer
Zelle die jeweils mit einem "," (Komma) getrennt sind.
Nun kommen hierbei leider einige Werte mehrfach vor.
Bsp.: "05*,05*,05Z,07*,09*,09*,09SZ,09*,09SZ,09*,09R3,09R3,09*,15*"
Leider weiss ich nicht wie man die doppelten Einträge innerhalb
dieser Zellen entfernen kann.
Habt ihr Ideen?
Danke,
Kater Karlo
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Werte in einer Zelle entfernen
20.02.2006 13:04:47
tubias
Hallo
so könnte man das machen:

Sub ClearDoubles()
Dim objSelection As Range, saToken() As String, lCount As Long
Dim cUnique As New Collection
ReDim saToken(0)
On Error Resume Next
For Each objSelection In Selection
saToken = Split(objSelection.Value, ",")
If UBound(saToken) > 0 Then
For lCount = 0 To UBound(saToken)
cUnique.Add saToken(lCount), saToken(lCount)
If Err <> 0 Then
Err.Clear
End If
Next
For lCount = 1 To cUnique.Count
If lCount = 1 Then
Cells(objSelection.Row, objSelection.Column) = cUnique.Item(lCount)
Else
Cells(objSelection.Row, objSelection.Column) = _
Cells(objSelection.Row, objSelection.Column) & _
"," & cUnique.Item(lCount)
End If
Next
End If
Next
End Sub

mfg tobias
*** http://www.tubias.de ***
Anzeige
AW: Doppelte Werte in einer Zelle entfernen
20.02.2006 13:13:45
tubias
Hallo
da hat natürlich noch was gefehlt:

Sub ClearDoubles()
Dim objSelection As Range, saToken() As String, lCount As Long
Dim cUnique As New Collection
ReDim saToken(0)
On Error Resume Next
For Each objSelection In Selection
saToken = Split(objSelection.Value, ",")
If UBound(saToken) > 0 Then
For lCount = 0 To UBound(saToken)
cUnique.Add saToken(lCount), saToken(lCount)
If Err <> 0 Then
Err.Clear
End If
Next
For lCount = 1 To cUnique.Count
If lCount = 1 Then
Cells(objSelection.Row, objSelection.Column) = cUnique.Item(lCount)
Else
Cells(objSelection.Row, objSelection.Column) = _
Cells(objSelection.Row, objSelection.Column) & _
"," & cUnique.Item(lCount)
End If
Next
For lCount = cUnique.Count To 1
cUnique.Remove lCount
Next
End If
Next
End Sub

mfg tobias
*** http://www.tubias.de ***
Anzeige
AW: Doppelte Werte in einer Zelle entfernen
20.02.2006 14:31:18
Kater
Hi Tobias,
funktioniert wie 1 - vielen Dank für Deine Hilfe!
Gruss,
Kater Karlo
AW: Doppelte Werte in einer Zelle entfernen
20.02.2006 15:27:38
Peter
Hallo tobias,
kann es sein, dass deine Korrektur noch ein Step - 1 benötigt, um richtig zu funktionieren?
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Doppelte Werte in einer Zelle entfernen
20.02.2006 21:16:58
tubias
Hallo
ja stimmt...
For lCount = cUnique.Count To 1 Step -1
mfg tobias
*** http://www.tubias.de ***
Anzeige
;

Forumthreads zu verwandten Themen

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 Werte in einer Zelle entfernen


Schritt-für-Schritt-Anleitung

Um doppelte Werte in einer Zelle in Excel zu löschen, kannst Du das folgende VBA-Skript verwenden. Dieses Skript trennt die Werte in der Zelle mit dem Komma und entfernt die doppelten Inhalte.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul.
  3. Kopiere den folgenden Code in das Modul:
Sub ClearDoubles()
    Dim objSelection As Range, saToken() As String, lCount As Long
    Dim cUnique As New Collection
    ReDim saToken(0)
    On Error Resume Next
    For Each objSelection In Selection
        saToken = Split(objSelection.Value, ",")
        If UBound(saToken) > 0 Then
            For lCount = 0 To UBound(saToken)
                cUnique.Add saToken(lCount), saToken(lCount)
                If Err <> 0 Then
                    Err.Clear
                End If
            Next
            For lCount = 1 To cUnique.Count
                If lCount = 1 Then
                    Cells(objSelection.Row, objSelection.Column) = cUnique.Item(lCount)
                Else
                    Cells(objSelection.Row, objSelection.Column) = _
                        Cells(objSelection.Row, objSelection.Column) & _
                        "," & cUnique.Item(lCount)
                End If
            Next
        End If
    Next
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Markiere die Zellen, in denen Du die doppelten Werte entfernen möchtest.
  3. Drücke ALT + F8, wähle ClearDoubles und klicke auf Ausführen.

Häufige Fehler und Lösungen

1. Fehler: Das Skript funktioniert nicht.

  • Stelle sicher, dass Du die richtigen Zellen ausgewählt hast. Das Skript funktioniert nur auf den markierten Zellen.

2. Fehler: Einige doppelten Werte werden nicht entfernt.

  • Überprüfe, ob die Werte tatsächlich identisch sind. Unterschiede wie Leerzeichen oder Groß-/Kleinschreibung können als unterschiedliche Werte betrachtet werden.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du die Funktion „Daten > Duplikate entfernen“ nutzen. Diese Methode eignet sich jedoch nur für Zellen mit einzelnen Werten, nicht für Zellen mit doppelten Werten, die durch Kommas getrennt sind.

Eine weitere Möglichkeit ist die Verwendung von Formeln:

=TEXTJOIN(",", TRUE, UNIQUE(TRIM(SPLIT(A1, ","))))

Diese Formel entfernt doppelte Werte in einer Zelle in Excel 365 oder Excel 2021.


Praktische Beispiele

Angenommen, Du hast in Zelle A1 den Wert:

"05*,05*,05Z,07*,09*,09*,09SZ,09*,09SZ,09*,09R3,09R3,09*,15*"

Nach Ausführung des VBA-Skripts sollte der Wert in A1 so aussehen:

"05*,05Z,07*,09*,09SZ,09R3,15*"

Tipps für Profis

  • Wenn Du häufig mit doppelten Werten in Excel arbeitest, erwäge, eine benutzerdefinierte Funktion zu erstellen, die Du immer wieder verwenden kannst.
  • Nutze die „Bedingte Formatierung“, um doppelte Werte in Deinem Arbeitsblatt hervorzuheben, bevor Du sie löschst.

FAQ: Häufige Fragen

1. Kann ich dieses Skript in jeder Excel-Version verwenden? Ja, das Skript sollte in allen Versionen von Excel funktionieren, die VBA unterstützen.

2. Wie kann ich doppelte Werte in mehreren Zellen gleichzeitig entfernen? Markiere einfach alle Zellen, aus denen Du die doppelten Werte entfernen möchtest, bevor Du das Skript ausführst.

3. Gibt es eine Möglichkeit, auch doppelte Zahlen zu entfernen? Ja, das Skript entfernt alle doppelten Werte, unabhängig davon, ob es sich um Zahlen oder Text handelt. Achte darauf, dass die Zahlen als Text formatiert sind, wenn sie mit Kommas getrennt sind.

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