Thema Datum  Von Nutzer Rating
Antwort
06.07.2016 14:38:42 Kathi
NotSolved
06.07.2016 15:55:28 Andreas
NotSolved
06.07.2016 16:48:34 Gast87085
**
NotSolved
Blau Textvergleich in zwei verschiedenen Zellen
12.07.2016 13:50:20 Andreas
NotSolved

Ansicht des Beitrags:
Von:
Andreas
Datum:
12.07.2016 13:50:20
Views:
685
Rating: Antwort:
  Ja
Thema:
Textvergleich in zwei verschiedenen Zellen

Hallo Kathi,


habe mir gerade mal ein bisschen zeit genommen um dein Problem anzugehen.
Ich hoffe der nachfolgende Code bringt dich in die richtige Richtung.

Sub zeilenabgleich()

'#######################################################################################'
'Dieses Modul gleicht die Inhalte zweier Zellen aus der gleichen Reihe miteinander ab   '
'und färbt sich unterscheidene Zeichen aus der Spalte B rot ein.                        '
'#######################################################################################'

'Variablendeklaration
Dim WertSPA As String
Dim WertSPB As String
Dim WertZeichenSPA As String
Dim WertZeichenSPB As String
Dim LaengeStringSPA As Integer
Dim LaengeStringSPB As Integer
Dim LaengeStringMAX As Integer
Dim ZaehlerZeile As Integer
Dim ZaehlerZeichen As Integer
Dim AnzahlZeilen As Integer

'gefüllte Zeilen in Tabelle1 Spalte A zählen um die Schleifendurchläufe für den Stringabgleich zu begrenzen
AnzahlZeilen = ActiveWorkbook.Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row

For ZaehlerZeile = 1 To AnzahlZeilen
    'Abfrage, ob sich die Inhalte von Zelle Spalte A und B der aktuellen Zeile gelich sind
    If Cells(ZaehlerZeile, 1).Text <> Cells(ZaehlerZeile, 2).Text Then                              'wenn sie nicht gleich sind, dann
                
        WertSPA = Cells(ZaehlerZeile, 1).Text                                                       'kopiere den Inhalt der Zelle aus Spalte A in Varaible
        LaengeStringSPA = Len(WertSPA)                                                              'und ermittle die Länge des Strings Spalte A
        WertSPB = Cells(ZaehlerZeile, 2).Text                                                       'kopiere den Inhalt der Zelle aus Spalte B in Varaible
        LaengeStringSPB = Len(WertSPB)                                                              'und ermittle die Länge des Strings Spalte B
        
        'Abfrage zum Ermitteln des längsten Strings um die Schleifendurchläufe zum Vergleichen der Zeichen zu begrenzen
        If LaengeStringSPA > LaengeStringSPB Or LaengeStringSPA = LaengeStringSPB Then              'wenn String Spalte A länger oder gleich dem String Spalte B ist, dann
            LaengeStringMAX = LaengeStringSPA                                                       'setze die Länge des String Spalte A als Maximalwert
        Else                                                                                        'ansonsten
            LaengeStringMAX = LaengeStringSPB                                                       'setze die Länge des String Spalte A als Maximalwert
        End If
        
            'Schleife zum Vergleichen einzelner Zeichen aus aktuellem String
            For ZaehlerZeichen = 1 To LaengeStringMAX
                
                'aktuelles Zeichen aus String in Variable kopieren
                WertZeichenSPA = Left(Mid(WertSPA, ZaehlerZeichen), 1)                              'kopiere aktuelles Zeichen aus String Spalte A in Variable
                WertZeichenSPB = Left(Mid(WertSPB, ZaehlerZeichen), 1)                              'kopiere aktuelles Zeichen aus String Spalte B in Variable
                
                'Abfrage, ob sich die (n)ten Zeichen der String aus Spalte A und B unterscheiden
                If WertZeichenSPA <> WertZeichenSPB Then                                            'wenn sie sich unterscheiden, dann
                    With Cells(ZaehlerZeile, 2).Characters(Start:=ZaehlerZeichen, Length:=1).Font   'färbe das abweichende Zeichen in Spalte B
                        .ColorIndex = 3                                                             'rot ein
                    End With
                End If
                
            Next ZaehlerZeichen
    End If

Next ZaehlerZeile

End Sub

Ich habe  mir eine kleine Excel gebastel, in der ich die Spalten A und B auf Tabelle1 mit Text gefüllt habe.
Tue das doch auch mal und lasse dann mal den Code drüber laufen.

Über eine Rückmeldung würde ich mich sehr freuen

LG aus Hamburg
Andreas


Ihre Antwort
  • 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: Name: Email:



  • 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
06.07.2016 14:38:42 Kathi
NotSolved
06.07.2016 15:55:28 Andreas
NotSolved
06.07.2016 16:48:34 Gast87085
**
NotSolved
Blau Textvergleich in zwei verschiedenen Zellen
12.07.2016 13:50:20 Andreas
NotSolved