Cargar hoja por GetOpenFilename y copiar columnas especificas
Anteriormente me ayudaste con el siguiente código:
Sub CargarHoja() Dim Hoja As Object Application.ScreenUpdating = False Dim X As Variant X = Application.GetOpenFilename _ ("Excel Files (*.xl*), *.xl*", 2, "Abrir archivos", , True) If IsArray(X) Then A = ActiveWorkbook.Name For y = LBound(X) To UBound(X) Application.StatusBar = "Importando Archivos: " & X(y) Workbooks.Open X(y) b = ActiveWorkbook.Name For Each Hoja In ActiveWorkbook.Sheets Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count) Next Workbooks(b).Close False Next Application.StatusBar = "Listo" Call Unir End If Application.ScreenUpdating = False End Sub Sub Unir() Dim Sig As Byte, Eliminar As Boolean For Sig = 2 To Worksheets.Count Worksheets(Sig).UsedRange.Offset(1).Copy _ Worksheets(1).Range("A1048576").End(xlUp).Offset(1) Next Application.DisplayAlerts = False For Sig = 2 To Worksheets.Count Worksheets(2).Delete Next Application.DisplayAlerts = True End Sub
La macro me funciona a la perfección, el tema es que quisiera que al cargar la hoja SOLO me copieunas columnas en especifico que son 6 de 39 (A, C, E, B ,G, H, I), será posible realizar dicha función?
1 Respuesta
Respuesta de Programar Excel