Copiar Macro a otro libro mediante Macro

No consigo encontrar un código que me permita copiar una macro (o un módulo) mediante una macro, es decir, con vba. ¿Es posible?

El hecho es que tengo un libro con una macro con la que creo otro libro nuevo, me gustaría poder copiar, una de las macros, en ese libro nuevo para que esté alojada en el libro nuevo.

Otra opción sería que, con la macro que tengo para crear el nuevo libro, escribiera una macro en el nuevo libro y la guardara ahí.

Necesito esto porque la macro que quiero crear es un Private Sub Workbook_Open().

1 Respuesta

Respuesta
1

Si la idea es tener una macro disponible para cualquier libro, te sugiero utilizar los complementos de excel, debes crear un nuevo libro, en el grabas todas las macros y funciones que desees, luego este libro lo grabas como complemento es decir con extensión .xla

Luego es cuestión de pasar este nuevo libro xla a la carpeta complementos del path local, por lo general se aloja en datos de programa\microsoft\complementos\

Y ya esta.

Hola Luis_P, muchísimas gracias por atenderme tan rápido. Lo pruebo y te cuento en cuanto lo tenga. De nuevo, muchísimas gracias!!!

Hola!!!

Analizando tu propuesta me he dado cuenta de que, como necesito trabajar en red, esta macro tendría que estar en todos los ordenadores.

Se me ocurre crear una macro en los libros que utilicen todos los usuarios y que cada vez que se abra se ejecute el evento Auto_Open copiando el archivo .xla (alojado en el servidor) y pegándolo en el directorio que me detallas. No sé como???

El problema que puedo encontrar es la configuración de carpetas que tenga cada ordenador, que tiene que ser igual para todos, como hay algunos con Win7, otros con WinXP...

Por eso, se me ocurrió poder crear una macro a través de otra macro en otro archivo...

No sé... cabría la posibilidad de hacer esto, o se te ocurre una opción mejor???

Gracias!!!

Asi como lo planteas, se pone mas complejo, pues debes distribuir una solucion de excel a nivel de lan (red de area local). El tema de path puede dar mucho que hacer ( al menos en lo que a mis conocimientos respecta). Por otro lado tal vez te convenga crear un solo archivo alojarlo en una carpeta compartida, y luego desde alli los usuarios bajan sus respectivas copias ( macro incluida), asi cada vez que modifiques el macro, solo le indicas a los usuario que existe una nueva replica en el server, para que actualizen..

Buenas, ya tengo solucionado, por lo menos, lo de copiar y pegar archivos de una carpeta a otra. Dejo el código, aunque sea muy simple, para quien la pueda necesitar:

Sub Copiar_Archivo()
DirOrigen = "C:\Documents and Settings\Administrador\Escritorio\A"
DirDestino = "C:\Documents and Settings\Administrador\Escritorio\B"
archivo = "aaa.xlsx"
FileCopy DirOrigen & "\" & archivo, DirDestino & "\" & archivo
End Sub

Saludos!

Hola Luis_P, perdona, no había visto tu respuesta...

Muchas gracias por tu ayuda, intentaré hacerlo así, no obstante, si encontrases la solución de crear una macro en un libro a través de otra macro de otro libro estaría genial, si es que se puede, claro, si por casualidad la encontrase yo te la mandaría...

De verdad muchas gracias...

Saludos!!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas