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-Key: 347481

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

Printed on: April 27, 2024 at 17:04 o'clock

Member: atze187
atze187 Aug 28, 2017 at 14:35:02 (UTC)
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.
Member: stmskreu
stmskreu Aug 28, 2017 at 16:48:01 (UTC)
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.