Macro buscar y seleccionar un XLS en un ordenador (PC)

Hola de nuevo estoy aquí con otro problema, esta vez es el siguiente: tengo un libro A1 en el que estoy programando varias macros para ejecutarlas pero estas van a aplicarse a ejecutarse a otro libro A2, bueno en A1 cree un botón llamado Unificar Archivo este abrirá una USERFORM la cual contendrá 3 botones, 1.- llamado Examinar. Este botón lo que hará es que uno busque manualmente en toda la PC la dirección donde está alojado el archivo A2.XLS y guarde la dirección en una ventanita a un lado para luego trabajar ese archivo. 2.- Unificar. Este botón lo que hará es aplicar una macro para unificar el libro A2 (este código ya lo tengo). 3.- Cancelar. Este botón lo que hace es cerrar y detener la USERFORM y regresa al libro A1 (Ya tengo este código).
Como ve solo me falta los comandos para el botón 1 examinar ojala me puedas salvar de nuevo gracias por su tiempo y comprensión.

1 respuesta

Respuesta
1
Hola recibí los links que me enviaste muchas gracias pero creo encontré una mejor forma y más sencilla pido inserten en la celda C3 la ruta a cargar, en esta se colocara la ruta donde se encuentra el archivo xls a trabajar.
Ok bueno ahora lo que requiero es lo siguiente en el botón de unificar: necesito la macro que utilizando la ruta de carga, al archivo xls le aplique la siguiente macro:
Sub unificar()
Dim libro As Workbook
Dim librete As Workbook
Dim hj
Dim nombre
Set libro = ActiveWorkbook <-- es aquí donde debería ir la dirección de la ruta a cargar?
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
Si aplicas esta macro tal y como está escrita en un libro que requieras unir todas sus hojas en una sola, lo que hace esta macro es en el libro abierto copia y pega la información que encuentra en el rango A1:P50 de cada hoja y la pega en un libro nuevo en una hoja nueva en el orden de las hojas del libro activo. Al terminar pregunta con que nombre deseo guardar el nuevo libro y lo guarda en la ruta del libro original.
La verdad es que no entiendo mucho de macros, pero por lo poco que veo, lo que te estaría faltando es la acción de abrir el archivo que encontraste examinando y después de abrirlo, que ejecute la macro.
No se como opera "ActiveWorkbook" cuando tienes dos archivos de excel abiertos, si opera sobre el ultimo, sirve. Sino, la operación la va a hacer en el excel donde tengas los botones y esto no es lo que quieres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas