Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
732to736
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
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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 ***

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige