Einträge aus einer Liste gegen andere Listen abgleichen (VBA)

ShapeOfSelfhood, Witzwort, Freitag, 03.01.2020, 16:43 (vor 51 Tagen)

Hallo Leute, ich bin neu hier, ich hoffe sehr, Ihr könnt mir helfen.
Nun bin ich nicht mehr ganz neu in VBA, aber gerade stoße ich leider an meine Grenzen.
Ich möchte zum Abgleich von Sanktionslisten mehrere Namen abgleichen lassen.
ich habe bis zu 3 Listen mit Namen, zum Beispiel Namen von Personal, Debitoren und Kreditoren
und jede Spalte und Zeile dieser Listen muss wiederum gegen die Einträge aus 3 weiteren Listen abgeglichen werden. Damit haben wir quasi 3 Quelltabellen und 3 Tabellen, die mit den Quelltabellen abgeglichen werden müssen.
Ich möchte dann als Ergebnis sehen, ob sich Treffer ergaben oder nicht.
Am besten wäre es, wenn auch ungefähre Treffer angezeigt werden würden (wie Zum Beispiel "Schmidt" in der Quelldatei, "Schmitt" in einer der zu vergleichenden Tabelle).

Ich habe die Skripts soweit hinbekommen, dass ich schonmal die Quelldateien und die zu vergleichenden Tabellen in ein Workbook bekomme.
Nun fehlt mir nur der Abgleich selbst. Prinzipiell bin ich mit Schleifen vertraut, aber da hier ja quasi mehrere Schleifen zusammen kommen, bin ich leider überfordert.

Für euere Hilfe wäre ich euch sehr dankbar.

Einträge aus einer Liste gegen andere Listen abgleichen

Martin Asal @, Montag, 06.01.2020, 12:54 (vor 48 Tagen) @ ShapeOfSelfhood
bearbeitet von Martin Asal, Montag, 06.01.2020, 13:31

Hi,

Am besten wäre es, wenn auch ungefähre Treffer angezeigt werden würden (wie Zum Beispiel "Schmidt" in der Quelldatei, "Schmitt" in einer der zu vergleichenden Tabelle).

Schau dir mal die SoundEx-Funktion an. Damit kannst du Ähnlichkeitssuchen durchführen.

Der eigentliche Aufbau der Prozedur könnte dann ca wie folgt aussehen:

Public Sub Vergleiche()
Dim Zelle1 As Range, Zelle2 As Range, Zelle2 As Range
 
'Wir gehen davon aus, dass die 3 Listen je in A5 beginnen
Set Zelle1 = Worksheets("Tabelle1").Range("A5").Cells(1)
Set Zelle2 = Worksheets("Tabelle2").Range("A5").Cells(1)
Set Zelle3 = Worksheets("Tabelle3").Range("A5").Cells(1)
 
Do Until IsEmpty(Zelle1.Value)
 
    Do Until IsEmpty(Zelle2.Value)  'Vergleich von Tabelle1 mit Tabelle2
        If Zelle1 = Zelle2 Then
            '....
        End If
        Set Zelle2 = Zelle2.Offset(1)
    Loop
 
    Do Until IsEmpty(Zelle3.Value)  'Vergleich von Tabelle1 mit Tabelle3
        If Zelle1 = Zelle3 Then
            '....
        End If
        Set Zelle2 = Zelle3.Offset(1)
    Loop
 
    Set Zelle = Zelle.Offset(1)
Loop
 
End Sub

Da ich ja nicht weiß, was bei einem Match genau passieren soll, habe ich hier nur "...." als Kommentar reingeschrieben. Da musst du schon selbst was machen ;-)

Martin

Einträge aus einer Liste gegen andere Listen abgleichen

ShapeOfSelfhood, Witzwort, Mittwoch, 08.01.2020, 14:21 (vor 46 Tagen) @ Martin Asal

Hallo Martin,

vielen Dank schonmal für Deine Antwort :)

Ich hatte leider noch keine Zeit, es auszuprobieren, aber es klingt auf jeden Fall schon mal hilfreich :)

Wenn es einen Treffer gibt, wäre es super, wenn zum Beispiel die Treffer in einer Separaten Tabelle aufgelistet werden würden.
Dies habe ich vergessen zu erwähnen :)

Ich danke Dir auf jeden Fall schonmal für Deine Hilfe, weiß leider noch nicht, wann ich zum Testen komme

RSS-Feed dieser Diskussion
powered by my little forum