Private Sub Worksheet_Change(ByVal Target As Range)
'** Dimensionierung der Variablen
Dim varWert As Variant
'** Vorgaben definieren
Set wsein = ThisWorkbook.Sheets("Eingabe")
Set wsdat = ThisWorkbook.Sheets("Daten")
'** Zellbereich festlegen, in dem die Daten ersetzt werden sollen.
'** Im vorliegenden Beispiel soll dies im Bereich A4 bis A100 der Fall sein
If Not Application.Intersect(Target, Range("A4:A100")) Is Nothing Then
On Error GoTo ende
'** Auslesen des erfassten Wertes und suchen des neuen Wertes in der Ersetzungs-Tabelle
varWert = WorksheetFunction.VLookup(Target.Value, wsdat.Range("A4:B100"), 2, False)
'** Eintragen der neuen Daten und ersetzen der Eingabe
Application.EnableEvents = False
Target.Value = varWert
Application.EnableEvents = True
End If
Exit Sub
'** Errorhandling mit Ausgabe eines Hinweises, wenn kein Treffer in der Liste gefunden wurde
ende:
If Target <> "" And Len(Target.Value) < 7 Then
MsgBox "In der Datenliste wurde kein Treffer gefunden!", vbCritical, "Hinweis"
End If
End Sub