Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [A1]) Is Nothing Then
Dim DL%, Col%
Application.ScreenUpdating = False
DL = Cells(Cells.Rows.Count, "B").End(xlUp).Row
If Application.CountIf([E2:ZZ2], Target) > 0 Then
Col = Application.Match(Target, [A2:ZZ2], 0)
Range(Cells(3, Col), Cells(DL, Col)) = Range("B3:B" & DL).Value
End If
End If
Fin:
End Sub