Macro para unir libros con macros independientes.

Hola, el problema que planteo es el siguiente:
Tengo 10 libros excel, todos ellos similares pero independientes. Cada uno de ellos tiene una macro, la cual se activa introduciendo en una hoja de excel una fecha (Por ejemplo, escribimos 13/10/2010 en una celda concreta, le damos a GO y se pone en marcha). Entonces se ejecuta una consulta a la base de datos general (Oracle), extrae la información necesaria y la vuelca en excel. Después a través de una serie de fórmulas en excel se obtiene el resultado deseado, el cual se refleja en una celda.
La similitud que tienen todos los excel (todos ellos de 4 o 5 hojas), es que el dato a introducir es el mismo, es decir, con una fecha se activa la macro y devuelve la consulta en forma de datos a Excel.
Me gustaría saber si existe alguna forma de crear un Libro (con una hoja basta) donde se pueda recoger, introduciendo el dato de entrada en excel (la fecha), todos y cada uno de los resultados de todos los libros excel. Es decir, crear una hoja desde la cual, mediante una macro y con el dato de entrada FECHA, se activen las macros de todos los libros, salgan los resultados, y todos esos resultados aparezcan en el nuevo libro que he creado. Por decirlo de otra forma, unificar todos los programas en uno, teniendo en cuenta que el dato de entrada es el mismo para todos los libros Excel.
Muchas gracias.
1

1 respuesta

Respuesta
1
Claro que si se puede..
Mira..
Lógicamente para esto utilizaras uno de esos liibros para poner la fecha..
Lo que debes hacer es que a los otros 9 libros la macro la vas a llamar Auto_Open, eso con el fin de que esa macro se autoejecute al abrir ese libro..
Ahora con la macro del libro donde pones la fecha debes signarle que cuendo la ejecutas también habrá los demás libros, libro por libro... es decir... paso por paso..
Importante:
En El libro donde pones la fecha, no se que celda sea supongamos que es la celda a1, ahora en los otros 9 libros vincula la celda a1 del libro1, entonce en la celda a1 del libro2 pondrás.
=[Libro1.xls]Hoja1!a1
Es lo lo harás en los 9 librso, esto para que cuando abrar el libro1, tu pones la fecha en la a1 y se vinculara a los otros nueve libros.
ahora al final de la macro antes del end sub
pon
Para el Libro2
ChDir "C:\"
WorkBooks.Open "C:\Ruta del Libro\Libro2.xls"
MsgBox("Si ya termino el proceso del libro dos Precione Enter")
Para el Libro3
ChDir "C:\"
WorkBooks.Open "C:\Ruta del Libro\Libro3.xls"
MsgBox("Si ya termino el proceso del libro tres Precione Enter")
Para el Libro4
ChDir "C:\"
WorkBooks.Open "C:\Ruta del Libro\Libro4.xls"
MsgBox("Si ya termino el proceso del libro cuatro Precione Enter")
Y así para los otros libros hasta llegar a los nueve
Ahora a cada macro Auto_Open de cada uno de los 9 libros agregale estas Instrucciones
haciendp referenca al numero del libro, en este ejemplo es para el libro2
Range("a1"). Copy 'Aqui Copias el resultado del libro2
Windows("Libro1.xls").Activate 'Activas el Libro1
Range("a2"). PasteSpecial xlValues 'Pegas en la celda a2 el resultado del libro2
Window("Libro2").Activate 'Vuelves a activar el libro2
ActiveWorkBook. Save 'Guardas el libro2
ActiveWorkBook. Close 'Cierras el libro2
Espero y puedas aplicarlo

Añade tu respuesta

Haz clic para o