Ah dat vakantie-gevoel, ik ken dat ;-)
Enfin, om het mysterie op te lossen steek ik een kant-en-klaar voorbeeld in bijlage dat een meer complexe variant is van mijn eerste suggestie.
Deze code doet exact het gevraagde:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error GoTo ResetEvents
' Voorkomt oneindige loops
Application.EnableEvents = False
' Verander enkel waardes als ingegeven in de gele range
If Union(Range("TargetRange"), Target).Address = Range("TargetRange").Address Then
' Zoek plaats van de ingegeven waarde
Plaats = Application.WorksheetFunction.Match(Target.Value, Range("SourceRange").Columns(1))
' Vervang ingeven waarde als geldige plaats gevonden
If Plaats > 0 Then Target.Value = Range("SourceRange").Cells(Plaats, 2).Value
End If
Application.EnableEvents = True
Exit Sub
ResetEvents:
Application.EnableEvents = True
End Sub
Voorbeeld steekt in bijlage... Dat verdient toch wel een zomerse dame blanche, of zo, niet?
Bart