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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas