Te anexo las macros:
Sub Modificar()
'Por.Dante Amor
Set h1 = ActiveSheet
Set h2 = Sheets("Sheet4")
Set b = h2.Columns("A").Find(h1.Range("A10"), lookat:=xlWhole)
If Not b Is Nothing Then
h1.Range("A13:N13").Copy
h2.Cells(b.Row, "A").PasteSpecial xlValues
h1.Range("A10:N10").ClearContents
h1.Range("A8:C8").ClearContents
MsgBox "Registro actualizado"
Else
MsgBox "El registro no se puede modificar. El escenario no existe"
End If
End Sub
Sub GuardarD()
'
Set h1 = ActiveSheet
Set h2 = Sheets("Sheet4")
Set b = h2.Columns("A").Find(h1.Range("A10"), lookat:=xlWhole)
If Not b Is Nothing Then
MsgBox "No se puede registrar. Ya existe un escenario con el número: " & h1.Range("A10")
Exit Sub
End If
Application.ScreenUpdating = False
Sheets("Sheet4").Select
Rows("6:6").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Hoja Trabajo").Select
Range("A13,B13,C13,D13,E13,F13,G13,H13,I13,J13,K13,L13,M13,N13").Select
Range("N13").Activate
Selection.Copy
Sheets("Sheet4").Select
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A5").Select
Sheets("Hoja Trabajo").Select
Range("F10").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("L10").Select
Selection.ClearContents
Range("K10").Select
Selection.ClearContents
Range("J10").Select
Selection.ClearContents
Range("I10").Select
Selection.ClearContents
Range("H10").Select
Selection.ClearContents
Range("G10").Select
Selection.ClearContents
Range("E10").Select
Selection.ClearContents
Range("D10").Select
Selection.ClearContents
Range("C10").Select
Selection.ClearContents
Range("B10").Select
Selection.ClearContents
Range("A10").Select
Selection.ClearContents
Range("B8").Select
Selection.ClearContents
Range("A8").Select
Selection.ClearContents
ActiveWorkbook.Save
Application.ScreenUpdating = True
End Sub
en los eventos de la hoja de trabajo:
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Not Intersect(Target, Range("A10")) Is Nothing Then
Set h1 = ActiveSheet
Set h2 = Sheets("Sheet4")
Set b = h2.Columns("A").Find(h1.Range("A10"), lookat:=xlWhole)
If Not b Is Nothing Then
h2.Range(h2.Cells(b.Row, "B"), h2.Cells(b.Row, "L")).Copy
h1.Range("B10").PasteSpecial xlValues
h1.Range("A8") = h2.Cells(b.Row, "M")
h1.Range("B8") = h2.Cells(b.Row, "N")
End If
End If
End Sub
S aludos, no olvides cambiar la valoración a la respuesta.