Foros del Web » Programación para mayores de 30 ;) » Programación General »

Ejecutar macro de otro libro en Excel.

Estas en el tema de Ejecutar macro de otro libro en Excel. en el foro de Programación General en Foros del Web. Hola gente. Veréis, tengo un problema que me trae de cabeza... Tengo un libro abierto llamado libro_valoraciones y otro llamado libro_destino donde se van copiando ...
  #1 (permalink)  
Antiguo 28/08/2012, 11:49
 
Fecha de Ingreso: enero-2012
Mensajes: 87
Antigüedad: 12 años, 3 meses
Puntos: 1
Ejecutar macro de otro libro en Excel.

Hola gente. Veréis, tengo un problema que me trae de cabeza...

Tengo un libro abierto llamado libro_valoraciones y otro llamado libro_destino donde se van copiando cosas del primero al segundo.

Pues bien, cuando acaba de copiarse todo lo necesario, quiero que se ejecute una macro del libro_destino pero NO HAY MANERA!

Pruebo a esperar que se ejecute el evento change cuando modifico cierta celda del libro_destino pero me dice que está fuera del intervalo. Entonces he pensado ejecutar la macro del libro_destino desde el código del libro_valoraciones.

He intentado hacer esto una vez cerrado el libro_destino:

workbook.Open ("ruta\libro.xlsm")
Application.Run (libro.xlsm!rutina)

Y me da un error que dice "no se puede ejecutar la macro libro.xlsm!rutina. Puede que la macro no esté disponible en este libro o que se hayan deshabilitado todas las macros". El clásico error que sucede cuando están las macros deshabilitadas pero no es el caso!

¿Qué hago mal? Necesito ayuda urgente! Gracias!
  #2 (permalink)  
Antiguo 29/08/2012, 03:48
 
Fecha de Ingreso: enero-2012
Mensajes: 87
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Ejecutar macro de otro libro en Excel.

Solucionado

Había que entrecomillar la ruta del libro al hacer el Application.Run

Application.Run "'" & ruta & "'!nombremacro"

Etiquetas: libro, macro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:44.