Me sale un error al correr macro "1004" en tiempo de ejecución

Disculpen la molestia me da un error al correr el macro que es parte un sistema de mayorizacion contable, al principio corría bien sin problema, por alguna razón empezó a dar el error y se interrumpe dando el mensaje finalizar o depurar; y en la hoja Mayor no quedan los formatos ajustados en secuencia.

Sub formatos()
For i = 1 To n_cuentas
Sheets("formato").Rows("1:7").Copy
Sheets("Mayor").Select
tu = ActiveCell.Row
Selection.Insert Shift:=xlDown
Sheets("formato").Range("e11:g13").Copy
ActiveCell.End(xlDown).Offset(4, 0).End(xlDown).Offset(1, 4).Select <--- Aquí me indica el error en esta línea.
ActiveSheet.Paste
ActiveCell.Offset(0, 1).Formula = "=sum(" & ActiveCell.Offset(-1, 1).Address(False, False) & ":" & Range("f" & tu + 7).Address(False, False) & ")"
ActiveCell.Offset(0, 2).Formula = "=sum(" & ActiveCell.Offset(-1, 2).Address(False, False) & ":" & Range("g" & tu + 7).Address(False, False) & ")"
ActiveCell.Offset(5, -4).Select
Next i
Columns("b:b").AutoFit
Columns("e:g").AutoFit
Rows("1:5").Delete
Columns("F:G").NumberFormat = "_(* #,##0.00_);_(* (#,##0.00);_(* ""-""??_);_(@_)"
End Sub

Gracias por su ayuda de antemano. Saludos

1 Respuesta

Respuesta
1

¿Eso qué pusiste es todo el código?

¿Puedes decirme en qué celda o en qué línea debe pegar la información?

ActiveCell.End(xlDown).Offset(4, 0).End(xlDown).Offset(1, 4).Select

Lo que hace esta instrucción es buscar el último dato, pero como no encuentra se va hasta el final de excel y luego quiere avanzar una línea más y ahí tiene el error.

Reemplaza la línea que tiene el por estas 2 líneas:

Cells(1, ActiveCell.Column).Select
ActiveCell(Rows.Count).End(xlUp).Offset(5, 4).Select

Pruébala y me dices.

Saludos. Dam

Si te funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas