Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel VBA - Strings vergleichen und Unterschiede markieren

Frage Entwicklung VB for Applications

Mitglied: chef1568

chef1568 (Level 1) - Jetzt verbinden

11.01.2015, aktualisiert 19:12 Uhr, 4128 Aufrufe, 3 Kommentare

Hallo,

ich schreibe mir gerade ein VB-Script für Excel dass 2 XML-Dateien miteinander vergleicht und die Unterschiede in einer Exceldatei ausgibt.
Derzeit vergleiche ich den gesamten Zelleninhalt und markiere en ganzen Text farbig.

Beispiel:
01.
.... 
02.
'Prüfe ob Werte identisch --> Unterschiede farbig kennzeichnen 
03.
   For i = r + 2 To r + 10 
04.
      If Not .Rows(i).Cells(3).Value = .Rows(i).Cells(2).Value Then 
05.
         .Rows(i).Cells(3).Font.Color = -16776961   'Textfarbe: rot 
06.
      End If 
07.
   Next
Ergebnis:
00 01 05 A1 FF
00 01 07 A1 FF


Jetzt möchte ich jedoch noch einen Auswertung hinzufügen, die in einem bestimmtes Feld nur die inhaltliche Unterschiede (einer HEX-Codierung) kennzeichnet:
Zelle 1 (Beispiel: .Rows(i + 12).Cells(2).Value): 00 01 05 A1 FF
Zelle 2 (Beispiel: .Rows(i + 12).Cells(3).Value): 00 01 07 A1 FF


Wie kann ich dies lösen?

Mitglied: bastla
LÖSUNG 11.01.2015, aktualisiert um 19:12 Uhr
Hallo chef1568!

Soferne die Schreibweise der Hex-Werte Deinem Beispiel entspricht, etwa so:
01.
Hex1 = Split(.Rows(i + 12).Cells(2).Value) 
02.
Hex2 = Split(.Rows(i + 12).Cells(3).Value) 
03.
For j = 0 To UBound(Hex1) 
04.
    If Hex1(j) <> Hex2(j) Then 
05.
        .Rows(i + 12).Cells(3).Characters(Start:=j * 3 + 1, Length:=2).Font.Color = vbRed 
06.
    End If 
07.
Next
Alternativ könnte auch ein zeichenweiser Vergleich erfolgen, dann würde aber in Deinem Beispiel nur die 7 rot geschrieben werden ...

Grüße
bastla
Bitte warten ..
Mitglied: 114757
11.01.2015, aktualisiert um 19:06 Uhr
Wenns ein einfacher String zu String -Vergleich sein soll geht auch das
01.
Sub CompareStrings(rng1 As Range, rng2 As Range) 
02.
    For i = 1 To Len(rng2.Value) 
03.
        If Mid(rng2.Value, i, 1) <> Mid(rng1.Value, i, 1) Then 
04.
            rng2.Characters(i, 1).Font.Color = vbRed 
05.
        End If 
06.
    Next 
07.
End Sub 
08.
 
09.
Sub Vergleichstest() 
10.
    CompareStrings Range("A1"), Range("A2") 
11.
End Sub
Im Beispiel wird der Inhalt von A1 mit A2 verglichen, aber die Prozedur kannst du ja in deiner Schleife benutzen

Gruß jodel32
Bitte warten ..
Mitglied: chef1568
11.01.2015 um 19:50 Uhr
genau das habe ich gebraucht!

Ich habe zwar den Code noch um einiges aufwändiger gestalten müssen aber in den Grundzügen hat es perfekt funktioniert!

Danke
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Excel VBA gefilterte Spalten vergleichen
gelöst Frage von YotYotVB for Applications3 Kommentare

Aloha! Ich bin seit satten fünf Stunden auf der Suche nach einer funktionierenden Lösung und scheitere daran, dass ich ...

VB for Applications
Excel, viele Spalten miteinander vergleichen - ordnen - markieren
gelöst Frage von tobiileinVB for Applications6 Kommentare

Hallo zusammen, ich habe derzeit folgendes Problem: Ich soll von einigen Servern eine Paketliste erstellen und diese dann in ...

Microsoft Office
VBA Excel Automatisch Filtern und Zeilen vergleichen
Frage von mcflyjuleMicrosoft Office

Hallo liebe Community, ich bin neu hier und habe leider (noch) keine Kenntnisse in VBA Hab das bisher immer ...

Batch & Shell
Vergleiche Strings in CMD
gelöst Frage von it4baerBatch & Shell4 Kommentare

Hallo, ich möchte gerne Strings in CMD vergleichen (also Windows Eingebaaufforderung) genau gesagt übergebe ich 1. eine Parameter meinBatch.cmd ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 23 StundenBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Windows Store Apps
gelöst Frage von PeterleBWindows Server10 Kommentare

Gibt es einen Weg, auf Windows Server 2016 Windows Store Apps wie zum Beispiel die HP Smart App zu ...

Microsoft
Erfahrungen mit Webcam over RDP gesucht
Frage von DerWoWussteMicrosoft10 Kommentare

Moin Kollegen. Bekanntlich kann man Webcams nur mit Drittanbietersoftware in RDP reinschleifen. Was nutzt Ihr dazu? Wie stabil funktioniert ...