Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Vergleich von String Inhalte

Betrifft: Vergleich von String Inhalte von: Jan
Geschrieben am: 28.02.2020 11:59:28

Hallo zusammen,

bis jetzt habe ich alles gefunden was ich auf der Seite gesucht habe ohne selbst einen Thread aufzumachen :).

Habe aber nun ein Problem.


Ich möchte mit meinem Makro zwei Cell Inhalte vergleichen in denen die Daten folgendermaßen hinterlegt sind:

;abc;cda;nop; (1.Zelle)

;abc;cda;nop;klo; (2.Zelle)


Jetzt suche ich nach einer Funktion die mir quasi sagt was der Ungerschied der 2 zelle zu der 1 Zelle ist.

In dem Fall klo ( was quasi neu dazu kommt)

Kann man sowas anhand der Trennung (;) vergleichen?

Also es geht nur um den inhalt zw. Den Trennzeichen.


VG und jetzt schon Danke!

Betrifft: AW: Vergleich von String Inhalte
von: Rudi Maintaire
Geschrieben am: 28.02.2020 12:11:05

Hallo,
Sub Vergleich()
  MsgBox fncUnterschied(Range("A2"), Range("A3"))
End Sub

Function fncUnterschied(rng1 As Range, rng2 As Range)
  Dim arrTmp, objText1 As Object, objUnterschied, i As Integer
  
  arrTmp = Split(rng1, ";")
  Set objText1 = CreateObject("scripting.dictionary")
  Set objUnterschied = CreateObject("scripting.dictionary")
  
  For i = 0 To UBound(arrTmp)
    objText1(arrTmp(i)) = 0
  Next i
  
  arrTmp = Split(rng2, ";")
  For i = 0 To UBound(arrTmp)
    If Not objText1.exists(arrTmp(i)) Then
      objUnterschied(arrTmp(i)) = 0
    End If
  Next i
  
  If objUnterschied.Count Then
    fncUnterschied = Join(objUnterschied.keys, vbLf)
  Else
    fncUnterschied = "Keine Unterschiede"
  End If
  
End Function

Gruß
Rudi

Beiträge aus dem Excel-Forum zum Thema "Vergleich von String Inhalte"