Crear una macro que me abra un libro "X" y me copie el contenido de varias hojas distintas, a otro libro y sus respectivas hojas
Tengo un archivo de automatización en Excel y necesito copiar varias hojas de un libro "X", en la misma cantidad de hojas, pero la macro que tengo no me permite hacer eso, cuando la grabo me hace el proceso, pero cuando intento organizarla no me lo permite, ya que al ejecutarla lo que hace es copiarme todo en una misma hoja, a pesar de que tiene una dirección seleccionada, abajo las dos macros.
Macro capturada
Sub Macro3()
' Macro3 Macro
Windows("Plan de Contratación Proyectos 2018 VPE PeI.xlsx").Activate
Sheets("HITOS Plan ajustado").Select
Range("A4:BE391").Select
Selection.Copy
Windows("BBDD Autov2.xlsm").Activate
Sheets("Contratacion").Select
Range("A3").Select
ActiveSheet.Paste
Windows("Plan de Contratación Proyectos 2018 VPE PeI.xlsx").Activate
Sheets("Torn Seg PT hito Ant Cumplido").Select
Range("B28:BX33").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BBDD Autov2.xlsm").Activate
Sheets("PT hito ant cump").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("Menú").Select
Windows("Plan de Contratación Proyectos 2018 VPE PeI.xlsx").Activate
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Macro modificada
Sub Abre_Libro()
' Ventana para cargar archivo de Hitos, en una hoja predeterminada en el libro
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim miarchivo, milibro, a, b, c As String
ruta = ActiveWorkbook.Path
ChDir ruta
miarchivo = Application.GetOpenFilename("Archivos Excel (*.xl*), *.xl*") 'Código para cargar archivo
If VarType(miarchivo) = vbBoolean Then
MsgBox ("Operación cancelada"), vbCritical, "AVISO"
Exit Sub
End If
milibro = ActiveWorkbook.Name
Workbooks.Open Filename:=miarchivo, UpdateLinks:=0 ' Abrir hitos y cargar datos a Hoja de Hitos
FullName = Split(miarchivo, Application.PathSeparator)
a = FullName(UBound(FullName))
Set b = Sheets(ActiveSheet.Name)
Workbooks(milibro).Sheets("HITOS Plan ajustado").Select.UsedRange.Copy
Application.ScreenUpdating = False
Range("A3").Select
Range("A3:BE500").Select
Selection.Copy
Windows("BBDD Autov2.xlsm").Activate
Sheets("Contratacion").Select
Range("A3").Select
ActiveSheet.Paste
'Windows("Plan de Contratación Proyectos 2018 VPE PeI.xlsx").Activate
Workbooks(milibro).Sheets("Torn Seg PT hito Ant Cumplido").Select.UsedRange.Copy
Application.ScreenUpdating = False
Range("B28").Select
Range("B28:BX33").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BBDD Autov2.xlsm").Activate
Sheets("PT hito ant cump").Select
Range("B2").Select
ActiveSheet.Paste
'Windows("Plan de Contratación Proyectos 2018 VPE PeI.xlsx").Activate
Workbooks(milibro).Sheets("Torn Seg PM hito Ant Cumpli").Select.UsedRange.Copy
Application.ScreenUpdating = False
Range("B28").Select
Range("B28:BE33").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BBDD Autov2.xlsm").Activate
Sheets("PM hito ant cump").Select
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False 'Limpiar el portapapeles
Application.Workbooks.Open(miarchivo).Close 'Cerrar archivo del cual copiamos información
Sheets("Menú").Select
MsgBox "Archivo cargado con éxito", vbInformation, "AVISO"
End Sub