Saltar al contenido

ayuda con error 1004 en tiempo de ejecucion: error definido por la aplicacion o el objeto


Recommended Posts

Buenas gente, esot y programando una macro la cual al llegar a la sentencia :

Cells(2, columna).Activate

me tira: se ha producido el error 1004 en tiempo de ejecucion: error definido por la aplicacion o el objeto

me seria de gran ayuda si identifican la causa del mismos. el codigo completo es el siguiente:

Dim f As String

Dim contadorhija As String

copiado = 0

columna = 3

contadorpadre = 3

Windows("Herramienta Patricio.xlsm").Activate

Cells(3, 1).Select

'ciclo recorredor de padres

Do Until IsEmpty(ActiveCell.Value)

ref = ActiveCell

Set Fso = CreateObject("Scripting.FileSystemObject")

'suspende macro se falta una estructura

If Not (Fso.FileExists("G:\VLS-Industrial\Logistica\PReid\Consumo MP sem siguiente\Estructuras\" & ref & ".xls")) Then

MsgBox "La estructura de la referencia " & ref & " no fue bajada de sap, descarguela, y vuelva a correr la macro"

Exit Sub

End If

'abre estructura

Workbooks.Open Filename:= _

"G:\VLS-Industrial\Logistica\PReid\Consumo MP sem siguiente\Estructuras\" & ref & ".xls"

Windows(ref & ".xls").Activate

Range("E11").Activate

contadorhija = 11

columna = 3

'recorro estructura y va armandola en el hoja de excel, selecciona ref hija y comprueba

Do Until IsEmpty(ActiveCell.Value)

Windows(ref & ".xls").Activate

Cells(contadorhija, 5).Activate

refhhija = ActiveCell

'Comprueba si existe ref hija en tabla

Windows("Herramienta Patricio.xlsm").Activate

Cells(2, columna).Activate

Do Until IsEmpty(ActiveCell.Value) Or copiado = 1

'Comprueba si existe ref hija en tabla

If refhija = ActiveCell Then

Windows(ref & ".xls").Activate

ActiveCell.Offset(0, 4).Activate

Selection.Copy

Windows("Herramienta Patricio.xlsm").Activate

Cells("contadorpadre", columna + 1).Select

ActiveSheet.Paste

activecells.Offset(0, 1).Activate

activecells = Cells("contadorpadre", 2) * Cells("contadorpadre", columna + 1)

activerange.Offset(0, 1).Activate

contadorhija = contadorhija + 1

contadorpadre = contadorpadre + 1

copiado = 1

End If

Windows("Herramienta Patricio.xlsm").Activate

facha = columna + 3

Cells(2, columna).Activate

Loop

Windows(ref & ".xls").Activate

Cells(contadorhija, 14).Activate

If ActiveCell = "COMP" Or copiado = 0 Then

Cells(contadorhija, 5).Activate

Selection.Copy

Windows("Herramienta Patricio.xlsm").Activate

ActiveSheet.Paste

Windows(ref & ".xls").Activate

Cells(contadorhija, 9).Activate

Selection.Copy

Windows("Herramienta Patricio.xlsm").Activate

Cells("contadorpadre", columna + 1).Activate

ActiveSheet.Paste

Cells("contadorpadre", columna + 2) = Cells("contadorpadre", columna + 1) * Cells("facha", 2)

End If

Loop

Windows("Herramienta Patricio.xlsm").Activate

fila.Value = fila.Value + 1

Cells(1, fila).Select

Loop

End Sub

Enlace a comentario
Compartir con otras webs

Hola Ikicho:

El unico posible error que veo es que en la fila superior a la que salta el aviso declaras la variable "facha" y luego no la utilizas. Por este motivo entiendo que la linea del error deberia ser de la siguiente forma

Cells(2, facha).Activate

haz las comprobaciones pertinentes y comenta el resultado.

Andrés

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.