stmskreu
Goto Top

Zwei Excel Zellen vergleichen und Änderungen kenntlich machen

Hallo zusammen,

ich möchte mittels VBA den Inhalt einer Zelle mit dem Inhalt einer anderen Zelle abgleichen und im Optimalfall in einer weiteren Zelle ausgeben lassen. Was identisch ist soll grau sein, was neu dazu gekommen ist schwarz und was nicht mehr enthalten ist soll wegfallen.
Bsp.:
Zelle 1 : Dienstag war ein schöner Tag. Die Sonne schien den ganzen Tag / Zelle 2: Mittwoch war ein schöner Tag. Die Sonne schien 5 Stunden. / Zelle 3: Mittwoch war ein schöner Tag. Die Sonne schien 5 Stunden.

Derzeit arbeite ich an diesem Quelltext:
Sub CompareStrings(rng1 As Range, rng2 As Range)
Dim i As Integer

    For i = 1 To Len(rng2.Value)

       If Mid(rng2.Value, i, 1) <> Mid(rng1.Value, i, 1) Then

            rng2.Characters(i, 1).Font.Color = vbRed

        End If

    Next

End Sub

Sub Vergleichstest()

    CompareStrings Range("A1"), Range("A2")  

End Sub

Hier habe ich jedoch das Problem, dass Zeichen für Zeichen verglichen wird und ich somit bei Wörtern unterschiedlicher Länge nicht das gewünschte Resultat erziele.
Es wäre super wenn mir hier jemand weiter helfen könnte face-smile

Vielen Dank schon mal!

Content-ID: 347481

Url: https://administrator.de/contentid/347481

Ausgedruckt am: 25.11.2024 um 21:11 Uhr

atze187
atze187 28.08.2017 um 16:35:02 Uhr
Goto Top
Zeichenweise ist natürlich aufwendig. Zerlege die Strings mit Split(rng1.Value, " ") bzw. Split(rng2.Value, " ") dort wo Leerzeichen sind in die einzelnen Worte und vergleiche diese dann Eintrag für Eintrag.
stmskreu
stmskreu 28.08.2017 um 18:48:01 Uhr
Goto Top
Danke für die Hilfestellung!

Ich bekomme das leider nicht fehlerfrei in den Quelltext integriert. Meine VBA Kenntnisse sind wahrscheinlich zu eingeschränkt für dieses Problem face-smile.
Danke trotzdem.