Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
14.10.2022 13:58:40 |
Jojo |
|
|
Excel doppelte Einträge (auch innerhalb einer Zeile) suchen und löschen |
14.10.2022 15:32:08 |
Gast41904 |
|
|
|
14.10.2022 16:20:50 |
Gast23944 |
|
|
|
14.10.2022 16:55:20 |
Gast41904 |
|
|
Von:
Gast41904 |
Datum:
14.10.2022 15:32:08 |
Views:
829 |
Rating:
|
Antwort:
|
Thema:
Excel doppelte Einträge (auch innerhalb einer Zeile) suchen und löschen |
Option Explicit
Public Sub Test()
Debug.Print "[START]"
Dim dicTokenCache As Object
Set dicTokenCache = CreateObject("Scripting.Dictionary")
Dim dicTokens As Object
Dim rngCell As Excel.Range
Dim blnReplace As Boolean
Dim tokens As Variant
Dim token As Variant
Set rngCell = Range("A1")
Do While rngCell.Value <> ""
'Zelleninhalt => Array => Dictionary
tokens = Split(rngCell.Value, " ")
Set dicTokens = CreateObject("Scripting.Dictionary")
For Each token In tokens
dicTokens(token) = Empty
Next
'Zelleninhalt prüfen
For Each token In tokens
If dicTokenCache.Exists(token) = False Then
Call dicTokenCache.Add(Item:=rngCell.Address(0, 0), Key:=token)
Else
Debug.Print "["; rngCell.Address(0, 0); "] :: remove '"; token; _
"' (previously seen in: "; dicTokenCache(token); ")"
'das 'token' haben wir schon vorher mal gesehen
'=> 'token' entfernen
Call dicTokens.Remove(token)
blnReplace = True
End If
Next
'falls oben 'token' entfernt wurden,
'wird hier das Endergebnis zur in die Zelle geschrieben
If blnReplace Then
tokens = Join(dicTokens.Keys(), " ")
Debug.Print "["; rngCell.Address(0, 0); "] :: change '"; rngCell.Value; "' to '"; tokens; "'"
rngCell.Value = Join(dicTokens.Keys(), " ")
blnReplace = False
End If
Set rngCell = rngCell.Offset(1)
Loop
Debug.Print "[DONE]"
End Sub
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
14.10.2022 13:58:40 |
Jojo |
|
|
Excel doppelte Einträge (auch innerhalb einer Zeile) suchen und löschen |
14.10.2022 15:32:08 |
Gast41904 |
|
|
|
14.10.2022 16:20:50 |
Gast23944 |
|
|
|
14.10.2022 16:55:20 |
Gast41904 |
|
|