Macro que abra 6 excel eligiendo diferentes pestañas

Hola, buenas

A ver si algún experto me puede ayudar con un problema que se me está resistiendo. Me gustaría, si es posible, que me aconsejaseis sobre una macro. En concreto lo que quiero es que, desde un Excel, poder ejecutar las macros de otros éxceles. Esto en sí no es un problema, sé hacerlo, donde estoy perdido, lo que quiero, es que ejecute la macro de una pestaña que es variable, me explico e intento dar todos los datos posibles.

Tengo 6 éxceles con la misma estructura, 13 pestañas, una por cada mes y otra de informe anual. Cada pestaña de mes (nombradas del 1 al 12), tiene la misma macro, que lo que hace es cargar los datos de otros éxceles "maestros o de fuente de datos". Uso la misma macro ya que se ejecuta en la pestaña activa. Lo que no estoy siendo capaz de que funcione es que, desde otro Excel, donde puedo poner el número de mes que corresponde de forma automática, me abra esos 6 éxceles y ejecute sus macros, en sus pestañas, en función del mes indicado.

Lo que me gustaría es, desde el Excel principal, ejecutar una macro que abra cada uno de los éxceles, en la pestaña del mes correspondiente, según una variable que puede leer del madre. Por ejemplo, este mes, junio, mes 6, que al ejecutar la macro, abra el primer excel por la pestaña 6 y ejecute la macro cargar datos, y que cierre el Excel, así para los 6 éxceles sucesivamente. El mes que viene, julio, que haga lo mismo pero con la pestaña 7 ya que es la que le corresponde de ese mes. Espero haberme explicado bien. Cualquier cosa me decís, muchas gracias de antemano por vuestra ayuda!

Un saludo
Javi

1 Respuesta

Respuesta
1

Aquí hay 2 temas a resolver:

- Abrir un excel, seleccionar una hoja y ejecutar una macro desde ese libro

- Repetir la acción para una serie de libros.

Te respondo a lo 1ro. Para la 2da parte (y en una consulta aparte x favor), debes aclarar estos detalles:

-Dónde se encuentran los libros, cómo identificarlos (x el nombre, o son todos los de una misma subcarpeta, etc, etc).

Para abrir un excel, buscar la hoja y ejecutar la macro este es un código de ejemplo:

Sub probando()
'x Elsamatilde
librox = Range("A1") 'la celda contiene nombre y extensión del libro que se abrirá
hojita = Range("A2") 'la celda contiene el nombre de la hoja que se activará
Workbooks.Open ThisWorkbook.Path & "/" & librox
ActiveWorkbook.Sheets(hojita).Select
Application.Run librox & "!la_macro"
End Sub

Por supuesto que el libro que se abre, tendrá en algún módulo una macro llamada en este caso:

Sub la_macro()

'....

End Sub

Probala colocando en las celdas los datos de un libro. Si todo está correcto, finaliza esta consulta y deja la nueva con las aclaraciones que te solicito.

Muchas gracias, me ha resuelto la duda!!

La segunda consulta he conseguido hacerla, así que no es necesario molestarte.

Un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas