Для подхода, который просто требует от вас нажатия Введите , вы можете использовать событие Change, что-то вроде этого:
Private Sub Worksheet_Change(ByVal Target As Range)
If TypeOf Selection Is Range Then
If Not Intersect(Selection, Target) Is Nothing Then
On Error GoTo SafeExit
Application.EnableEvents = False
Selection.Value = Target.Cells(1).Value
End If
End If
SafeExit:
Application.EnableEvents = True
End Sub
Если вы хотите, чтобы это работало, когда формула введено (не уверен, что вы, но в любом случае):
Private Sub Worksheet_Change(ByVal Target As Range)
If TypeOf Selection Is Range Then
If Not Intersect(Selection, Target) Is Nothing Then
On Error GoTo SafeExit
Application.EnableEvents = False
If Target.HasFormula Then
Selection.Formula = Target.Cells(1).Formula
Else
Selection.Value = Target.Cells(1).Value
End If
End If
End If
SafeExit:
Application.EnableEvents = True
End Sub