Transferir información del libro 1 al libro2, en bloque.
Tengo una macro que me transfiere la información de un libro a otro, ambos libros son iguales en su estructura, rangos.
La macro transfiere la información del libro1 (origen) y la pega en el mismo rango en el libro2 (destino)
Sub CopiarDatos() Dim Origen As Workbook, Destino As Workbook Dim NombreOrigen As String, NombreDestino As String Dim Hoja As String, Activa As Worksheet Application.EnableEvents = False Application.ScreenUpdating = False Application.DisplayAlerts = False Application.Calculation = xlCalculationManual '-- NombreOrigen = [B1] NombreDestino = [B2] Set Activa = ActiveSheet Set Origen = Workbooks.Open(NombreOrigen) Set Destino = Workbooks.Open(NombreDestino) For x = 4 To Activa.Range("A" & Rows.Count).End(xlUp).Row Hoja = Activa.Range("A" & x) Origen.Sheets(Hoja).Unprotect Password:=Activa.Range("C" & x) Origen.Sheets(Hoja).Cells.Copy Destino.Sheets(Hoja).Unprotect Password:=Activa.Range("C" & x) Destino.Sheets(Hoja).Range("A1").PasteSpecial xlPasteFormulas Destino.Sheets(Hoja).Protect Password:=Activa.Range("C" & x) Next Origen.Close SaveChanges:=False Destino.Close SaveChanges:=True '-- Application.EnableEvents = True Application.ScreenUpdating = True Application.DisplayAlerts = True Application.Calculation = xlCalculationAutomatic End Sub
para que funcione, me pide la ubicación del libro origen, y el libro destino, y lista todas las hojas del libro; todo funciona bien.
Lo que quisiera poder hacer, es que se haga lo mismo pero a varios archivos
La siguiente macro
Me permite elegir una carpeta para posteriormente listar todos los archivos en esa carpeta
¿Cómo pudiera hacer para que la primera macro se adapte, y haga sus funciones a todos los libros?
Quedando así:
(En este ejemplo tiene 10 archivos para copiar la información, pero los que necesito serian aproximadamente 150 archivos)