Exel 2003 VBA, Wörter einer Spalte mit der Exel Datenbank vergleichen

Funresort

Erfahrenes Mitglied
Hallo Leute,

ich möchte in Excel 2003 eine Excelspalte so einstellen, das diese alle Einträge in den Zellen überprüft, ob Wörter in diesen Zellen darin vorkommen die in der Excel Datenbank( internes Wörterbuch oder irgenteiner anderen Datenbank vorkommen vergleicht) und wenn diese vorhanden sind die Wörter rot makiert. Kenne mich leider nicht so gut in Excel aus und eig. garnicht in VBA. Wäre also über komplettlösungen froh, da ich leider über Google nichts finde. Ich bräuchte das so schnell wie möglich.

mfg. Chris
 
Zuletzt bearbeitet:
Hallo Chris,

habe zwar nur Excel 2000 aber das sollte egal sein.

In meinem Beispiel stehen alle gültigen Werte in den Zellen A1 bis A10 und in Zelle B1 wird dann immer ein Wort eingegeben.

Die Zelle B1 hat als bedingte Formatierung folgende Formel:

Visual Basic:
=WENN(ISTFEHLER(SVERWEIS(B1;$A$1:$A$10;1;0));1;0)

Dann noch die Schriftfarbe auf rot einstellen und es ist erledigt. Diese Formatierung wendest du auf alle entsprechenden Zellen an.
 
Das Problem ist ich bräuchte einen Verweis auf das interne Wörterbuch von Exel, will das anhand von dem prüfen
 
Was genau meinst du mit "internes Wörterbuch". Die Autokorrektur oder die Rechtschreibprüfung oder was?
 
Dann wirste an VBA fast nicht vorbei kommen.
Du brauchst nen Verweis auf das Word-Objektmodell, und dort gibt es ne Klasse die da heisst "Dictionary"

EDIT: Excel hat kein "eigenes" internes Wörterbuch, Office allgemein hat das......
 
Ich hätte da eine Lösung mit einer benutzerdefinierten Funktion:

Visual Basic:
Function Check(zelle As Range)
Dim wb As Variant   'das WörterBuch
Dim i As Integer    'Zähler

With Application.AutoCorrect
    wb = .ReplacementList
    For i = 1 To UBound(wb)
        If wb(i, 2) = zelle.Value Then
            found = 1
            Exit For
        Else
             found = 0
        End If
    Next i
End With

Check = found

End Function

Diese Funktion in ein Modul eingeben und dann bei den Zellen (hier Zelle "A1") die bedingte Formatierung wie folgt einstellen:

Visual Basic:
=Check(A1)=0    'hier als Farbe grün angeben
=Check(A1)=1    'hier als Farbe rot angeben

Damit wird jedes Wort das im Wörterbuch vorkommt grün und jedes Wort welches darin nicht vorkommt rot dargestellt.
 

Neue Beiträge

Zurück