Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Address = Range("c1").Address Then Range("d1") = WorksheetFunction.VLookup(Range("c1"), Range("a1:b5"), 2, 0) If Target.Address = Range("d1").Address Then Range("c1") = WorksheetFunction.Index(Range("a1:a5"), WorksheetFunction.Match(Range("d1"), Range("b1:b5"), 0)) End Sub