Error 1004 en tiempo de ejecución. "Error definido por la aplicación o el objeto"

Estoy tratando de hacer una macro, que copie primeramente unas celdas de otra hoja y luego de esta, me realice una suma condicional dada la función de suma matricial de unos datos que se encuentran en esa hoja. La cuestión está en que necesito un registro histórico y no se altere si cambio el valor de las celdas de la otra hoja, entonces se me ocurrió, luego de correr la formula, copiar y pegar esos datos como valores en ese mismo rango y seguir a la siguiente linea.

Cuando corro la macro me genera el error 1004: "Error definido por la aplicación o el objeto"... Aquí copio el texto de la macro:

Sub DEMORAS()
'
' DEMORAS Macro
' Macro grabada el 07/02/2014 por SIDOR C.A
'
' Acceso directo: Ctrl+Mayus+D
'
Sheets("DEMORAS").Select
Range("A8").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Sheets("Reporte").Select
Range("B8:C8").Select
Selection.Copy
Sheets("DEMORAS").Select
ActiveSheet.Paste
ActiveCell.Offset(0, 2).Select
Selection.FormulaArray = _
"=SUM((Reporte!R8C2=DEMORAS!RC[-1])*(Reporte!R8C3=DEMORAS!RC[0])*(Reporte!R47C9:R162C10=DEMORAS!R8C2)*Reporte!R47C12:R162C12)"
Range("c8").Select
Selection.FormulaArray = _
"=SUM((Reporte!R8C2=DEMORAS!RC[-2])*(Reporte!R8C3=DEMORAS!RC[-1])*(Reporte!R47C9:R162C10=DEMORAS!R8C3)*Reporte!R47C12:R162C12)"
Range("D8").Select
Selection.FormulaArray = _
"=SUM((Reporte!R8C2=DEMORAS!RC[-3])*(Reporte!R8C3=DEMORAS!RC[-2])*(Reporte!R47C9:R162C10=DEMORAS!R8C4)*Reporte!R47C12:R162C12)"
Range("E8").Select
Selection.FormulaArray = _
"=SUM((Reporte!R8C2=DEMORAS!RC[-4])*(Reporte!R8C3=DEMORAS!RC[-3])*(Reporte!R47C9:R162C10=DEMORAS!R8C5)*Reporte!R47C12:R162C12)"
Range("F8").Select
Selection.FormulaArray = _
"=SUM((Reporte!R8C2=DEMORAS!RC[-5])*(Reporte!R8C3=DEMORAS!RC[-4])*(Reporte!R47C9:R162C10=DEMORAS!R8C6)*Reporte!R47C12:R162C12)"
Range("G8").Select
Selection.FormulaArray = _
"=SUM((Reporte!R8C2=DEMORAS!RC[-6])*(Reporte!R8C3=DEMORAS!RC[-5])*(Reporte!R47C9:R162C10=DEMORAS!R8C7)*Reporte!R47C12:R162C12)"
Range("C8:G8").Select
Selection.Copy
Range("C8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("TD Demoras").Select
Range("A4").Select
ActiveSheet.PivotTables("DEMORAS").PivotCache.Refresh
Sheets("DEMORAS").Select
Range("A8").Select
End Sub

1 Respuesta

Respuesta
1

Tu problema esta aquí

Selection.End(xlDown).Select

ActiveCell.Offset(1, 0).Select

La primera orden te lleva al final de la hoja luego le pides que seleccione una fila mas abajo de la ubicación actual ( que es la última fila de la hoja), por lo tanto el macro falla pues no existe una fila mas allá del final de la hoja...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas