Abrir libros distintos y ejecutar macros

Buenos días.
Tengo varios libros excel (cada uno de ellos con macros). Como tienen muchos datos tardan bastante en calcular.
Lo que necesito es saber si hay alguna forma de hacer que me abra un libro, ejecute la macro, lo guarde y cierre. Cuando acabe con un libro necesitaría que empezase con otro (el mismo proceso). De esa forma los dejaría funcionando por la noche y ahorraría bastante tiempo.
Un saludo
Respuesta
1
Una forma de hacer lo que indicas es crear un nuevo libro en el que importes las macros que vas a necesitar. En la columna "a" de la hoja1 escribes los nombres de los libros a abrir. Al libro le añades la siguiente rutina:
Sub ejecucionDeMacro()
    Dim i As Long
    i = 1
    Do While Range("a" & i) <> ""
        Workbooks.Open Filename:=Range("a" & i)
        Windows(Range("a" & i)).Activate
        NOMBREMACRO 'aquí pones la macro que quieres ejecutar para todos los libros
        ActiveWorkbook. Sabe
        ActiveWindow.Close
        i = i + 1
    Loop
End Sub

Si la macro a aplicar a cada libro es distintas, podrías incluir en la columna "b", al lado del nombre un indicativo (1,2,3,4...), y harías una pequeña modificación en el código:
Sub ejecucionDeMacro2()
    Dim i As Long
    Dim opcion As Long
    i = 1
    Do While Range("a" & i) <> ""
        opcion = Range("b" & i)
        Workbooks.Open Filename:=Range("a" & i)
        Windows(Range("a" & i)).Activate
        If opcion = 1 Then
            NOMBREMACRO1
        ElseIf opcion = 2 Then
            NOMBREMACRO2
        ElseIf opcion = 3 Then
            NOMBREMACRO3
        End If
        ActiveWorkbook. Sabe
        ActiveWindow.Close
        i = i + 1
    Loop
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas