In Anlehnung an meinen letzten Beitrag bei dem mir so super von ransi und luc geholfen wurde wollte ich eine leicht veränderte Funktion basteln.
Ich möchte in einer Liste von Wörtern diejenigen Zeichen/Wörter zwischen 2 Semikolons herauspicken welche nur einmal auftauchen. Am besten wäre es wenn auch noch angezeigt würde in welcher Zeile genau dieses Wort auftaucht, falls dies nicht funktioniert würde ich das vielleicht über ein Zählenwenn oder ähnliches machen.
Also
https://www.herber.de/bbs/user/96466.xlsx
Hier mal noch der Code aus dem anderen Beitrag (mit eigenen Variablennamen und Kommentaren wo ich denke das hier definitiv ein Problem auftritt)
Option Explicit
Public Function highlight(woerterkatalog, allewoerter) As Variant 'woerterkatalog und _
allewoerter wären das selbe
Dim woerter As Object
Dim tempallewoerter
Dim tempmatrix As Variant, matrix As Variant
Dim schonvorhandene As Object
Dim schonvorhanden As Object
Dim woerterbuch As Object
Dim hochzaehlen As Long
tempmatrix = allewoerter
ReDim matrix(1 To UBound(tempmatrix))
For hochzaehlen = 1 To UBound(tempmatrix)
matrix(hochzaehlen) = tempmatrix(hochzaehlen, 1)
Next
tempallewoerter = Join(matrix, " ")
Set woerter = CreateObject("vbScript.Regexp")
With woerter
.Pattern = "[A-ZÄÖÜß0123456789]+" 'müsste man hier was ändern?
.ignorecase = True
.Global = True
If .test(tempallewoerter) = True Then
Set schonvorhandene = .Execute(tempallewoerter)
For Each vorhanden In schonvorhandene
If IsError(Application.Match(vorhanden, woerterkatalog, 0)) Then 'gibt es eine _
_
application die nach dem einmaligen auftauchen einer Zeichenfolge sucht?
woerterbuch(vorhanden.Value) = 0
End If
Next
End If
End With
highlight = woerterbuch.keys
End Function
Oder würde man dies jetzt gar nicht mit so einem Dictionary machen?Grüße!