Aplicar macro a un archivo de la ruta cargada

Hola chikoloko84 aquí de nuevo, bueno esta vez lo que necesito es lo siguiente en la celda C3 del Libro A1 tengo escrita la ruta de carga:
Ejemplo ruta de carga: C:\Users\fpalmeros\Desktop\EMINUS_14102010\Bases Desempeños Originales\Desempeño Alumnos TICs 16-11-2010.xls
En este mismo libro A1 tengo un botón de nombre unificar, lo que quiero es la orden siguiente. Que al dar click en Botón Unificar ejecute y aplique una macro al archivo de la ruta de carga de la celda C3.
Esta es la macro que voy a aplicar ojala me puedas ayudar complementarla con la información anterior. Esta macro se ejecuta en el mismo libro activo y lo que quiero es que la aplique para el archivo de la ruta sale.
Sub unificar()
Dim libro As Workbook
Dim librete As Workbook
Dim hj
Dim nombre
Set libro = ActiveWorkbook
         Workbooks.Add
Set librete = Workbooks(2)
            For hj = 1 To libro.Sheets.Count
                libro.Sheets(hj).Range("A1:P50").Copy
                librete.Sheets(1).Range("E" & Rows.Count).End(xlUp)(2).PasteSpecial
           Next hj
               Application.CutCopyMode = False
                 librete.Activate
                   ChDir libro.Path
 nombre = Application.InputBox("Digame el nombre a colocar", "Nombrar el nuevo libro")
   ActiveWorkbook.SaveAs Filename:=libro.Path & "\" & nombre & ".xls", _
                           FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
                           ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWindow.Close
Set libro = Nothing
Set librete = Nothing
End Sub
Respuesta
1
Disculpa la tardanza en mi respuesta pero he estado de vacaciones una temporada y no he podido entrar en el foro.
Vamos a ver tienes toda esa macro sub_unificar()
¿Lo qué tu quieres es que esa macro se ejecute en otro libro distinto al cual tienes la macro... cierto?
Vamos a ver. Teniendo el botón en el libro que tu dices, la macro que se me ocurre seria, abriendo el libro y hacer que la macro se ejecute en el libro que tu quieres.
Para ello, es decir para ejecutar la macro desde el libro donde la tienes escrita y que se ejecute en otro libro solo tienes que abrir el libro, activarlo y decirle que esa macro se ejecute en el libro activo. Vamos a ello.
Primero damos doble click en el botón Unificar y donde nos pone código simplemente ponemos lo siguiente:
Private sub Unificar_Click()
Dim libro As Workbook
Dim librete As Workbook
Dim hj As 'Tienes que poner el tipo de variable
Dim nombre As 'Tienes que poner el tipo de variable 
'Abrimos el libro donde queremos ejecutar la macro:
Workbooks.Open filename:="C:\Users\fpalmeros\Desktop\EMINUS_14102010\Bases Desempeños Originales\Desempeño Alumnos TICs 16-11-2010.xls
'Dentro del libro que acabamos de abrir nos vamos a la hoja donde queremos ejecutar la macro y la activamos:
Workbooks("TICs 13-11-2010.xls").Sheets("Aqui pones el nombre de la hoja donde quieres ejecutar la macro").Activate
'Ahora copiamos tu macro:
Set libro = ActiveWorkbook
         Workbooks.Add
Set librete = Workbooks(2)
            For hj = 1 To libro.Sheets.Count
                libro.Sheets(hj).Range("A1:P50").Copy
                librete.Sheets(1).Range("E" & Rows.Count).End(xlUp)(2).PasteSpecial
           Next hj
               Application.CutCopyMode = False
                 librete.Activate
                   ChDir libro.Path
 nombre = Application.InputBox("Digame el nombre a colocar", "Nombrar el nuevo libro")
   ActiveWorkbook.SaveAs Filename:=libro.Path & "\" & nombre & ".xls", _
                           FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
                           ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWindow.Close
Set libro = Nothing
Set librete = Nothing
End Sub
Mira a ver si te sirve así, Saludos. Avisame con lo que sea.
Mil Gracias experto chikoloko84 aunque un poco tarde me sirve de mucho ya la probé la macro y si anda bien. Muchas gracias me has salvado y me has ayudado a agilizar el termino de mi tesis sabes es que manejo 191 libros de Excel y cada libro tiene 111 hojas y con esta macro será más fácil el manejo de la información. Gracias y pronto volveré con otras duditas jajaja.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas