Mach zuerst ne Sicherheitskopie. Dann mach eine Schaltfläche mit der "Steuerelemente-Toolbox". Im Code kannst du dann etwa folgendes eintippen.
Allg. Tabelle1 und Tabelle 2 durch die Namen der richtigen Tabellen ersetzen.
Dim i As Integer, j As Integer
Dim Vorname As String, Nachname As String, Erfolg As Boolean
For i = 1 To 4000 '
Die erste Zahl durch die erste Reihe mit Datensätzen in Tabelle 1 ersetzen, die zweite durch die letze Reihe.
Nachname = Tabelle1.Cells(i, 1) '
1 ersetzen durch die Spalte, in der der Nachname vorkommt
Vorname = Tabelle1.Cells(i, 2) '
2 ersetzen durch die Spalte, in der der Vorname vorkommt
Erfolg = False
For j = 1 To 4000'
Die erste Zahl durch die erste Reihe mit Datensätzen in Tabelle 2 ersetzen, die zweite durch die letze Reihe.
If Tabelle2.Cells(j, 1) = Nachname And Tabelle2.Cells(j, 2) = Vorname Then '
1 ersetzen durch die Spalte, in der der Nachname vorkommt 2 ersetzen durch die Spalte, in der der Vorname vorkommt
Tabelle1.Cells(i, 3) = Tabelle2.Cells(j, 3) '
3 ersetzen durch die Spalte, in der die KID steht, bzw. stehen soll.
Erfolg = True
Exit For
End If
Next j
If Erfolg = False Then
Tabelle1.Cells(i, 3) = "XXXX"'
3 ersetzen durch die Spalte, in der die KID steht, bzw. stehen soll.
End If
DoEvents
Next i
------------------------------------------------------------------
Lacht mich nicht für diesen Code aus

Ich weiss, dass ich nicht coden kann. Aber ich versuche zu helfen...

Kann für die 4000 Datensätze recht lange dauern. Kannst es zwecks besserer Stabilität vielleicht "step by step" machen. Bei
For i = 1 To 4000
vielleicht zuerst von 1 bis 500, dann von 501 bis 1000, etc..
Gruss
Poly