Tienes que apagar los eventos, si vuelves a escribir en la hoja, el evento se vuelve a activar, por eso te envía error.
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.DAM
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Target <> "" Then
Application.EnableEvents = False
ArchivaFormulas
Application.EnableEvents = True
Else
End If
End If
If Not Intersect(Target, Range("L:L")) Is Nothing Then
If Target <> "" Then
respuesta = MsgBox("Desea archivar los datos de los bonos", vbYesNo, "ATENCION")
If respuesta = vbYes Then
Application.EnableEvents = False
PegaDatosDeBonosEnBonos
PegaEnInteresesDatosDelBono
Application.EnableEvents = True
Else
End If
End If
End If
End Sub
Después seguí probando tu macro y me encontré con esto, otra vez:
ActiveCell.Offset(0, -3).Range("A1").Select
ActiveCell.Copy Destination:=Range("U10")
ActiveCell. Offset(0, -10). Range("A1").Select
La celda activa es una celda en la columna "L", es decir, está en la columna 12, luego le dices que se desplace 3 columnas a la izquierda (-3), entonces la celda activa ahora es una celda en la columna "i", columna 9; luego le dices que se desplace 10 columnas a la izquierda, es decir, que se mueva a la columna 9 - 10, el resultado es -1, no existe la columna -1, también eso es te va a enviar error.
Te sugiero que no te desplaces con offset, es confuso estar contando en cuál celda estás y cuántas celdas van hacia la izquierda o hacia la derecha. Si sabes de qué columna vas a tomar la información no te muevas con offset, simplemente toma el dato de la celda, por ejemplo.
'Tienes esto
ActiveCell.Offset(0, -10).Range("A1").Select
ActiveCell.Copy Destination:=Range("U5")
'Es igual a esto
fila = ActiveCell.Row
Cells(fila, "B"). Copy Range("U5")
'Incluso lo puedes poner así
Cells(ActiveCell.Row, "B"). Copy Range("U5")
Me resulta más fácil entender: copia el valor de "B" y pega en "U5".
Y lo que tu tienes es, selecciona la celda activa menos 10, luego copia la celda activa y pega en "U5".
Te recomiendo que actualices todo tu código, va a ser más fácil que identifiques los errores y puedas hacerle cambios a la macro cuando lo requieras.