Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .CountLarge > 1 Then Exit Sub
If .Column <> 2 Then Exit Sub
If .Row < 3 Then Exit Sub
With .Offset(, -1)
If Target <> "" Then .Value = .Offset(-1) Else .Value = ""
End With
End With
End Sub