Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim f As Range
If Intersect(Target, Range("I:J")) Is Nothing Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
Set f = Sheets("gegevens lijst").Columns(3).Find(Target.Value, , xlValues, xlWhole)
If Not f Is Nothing Then
Target.Offset(, IIf(Target.Column = 9, -4, -7)) = f.Offset(, 1).Value
Target = Trim(Split(Target, "-")(UBound(Split(Target, "-"))))
If Target.Column = 10 Then Range("A8:J" & Cells(Rows.Count, 8).End(xlUp).Row).Sort Range("H8"), , Range("I8"), , , Range("J8"), , xlNo
End If
Application.EnableEvents = True
End Sub