¿Macro qué habrá más de 100 libros de excel y copiar la 4ra fila de todos los libros y relacionarlas en un libro nuevo se puede?

Necesito una macro que pueda abrir más de 100 libros de excel copiar la 4ta fila de todos los libros y relacionarlas en un libro nuevo

1 respuesta

Respuesta
1

Lo que pides si se puede, puedes basarte en el siguiente ejemplo y adaptarlo. En tu caso, debes modificar el cogido para que copie únicamente la fila cuarta de cada archivo que vaya abriendo.

http://www.excelnegocios.com/macro-para-unir-varios-libros-excel-en-una-sola-hoja/

Tienes que descargar el archivo y echarle un vistazo al código.

Hola esta perfecto si me relaciona todo en un libro pero como no se programación como pondré el rango para me copie de la A4:EB4 de cada libro de excel y la hoja se llama layout1

Muchísimas gracias de antemano

Saludos

Hice algunas modificaciones rápidas, este es todo el código que necesitas. Espero y te sirva

Sub Open_Files()
Dim Hoja As Object
Dim r As Long
Dim b As Workbook
    Application.ScreenUpdating = False
       'Definir la variable como tipo Variante
       Dim X As Variant
       'Abrir cuadro de dialogo
       r = ThisWorkbook.Sheets("layout1").Cells(Rows.Count, 1).End(xlUp).Row
       X = Application.GetOpenFilename _
           ("Excel Files (*.xlsx), *.xlsx", 2, "Abrir archivos", , True)
        'Validar si se seleccionaron archivos
        If IsArray(X) Then ' Si se seleccionan
          'Crea Libro nuevo
        '*/********************
       For y = LBound(X) To UBound(X)
       Application.StatusBar = "Importando Archivos: " & X(y)
         Workbooks.Open X(y)
         b = ActiveWorkbook
         ThisWorkbook.Sheets("layout1").Range(.Cells(r, 1), .Cells(r, 132)) = b.Sheets(1).Range("A4:EB4")
        b.Close False
       Next
       Application.StatusBar = "Listo"
    End If
    Application.ScreenUpdating = False
   End Sub
End Sub

Hola me buenas tardes me podrías ayudar es que me manda el siguiente error 9 sub indice fuera de intervalo

Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)

Con mucho gusto te puedo ayudar. Pero necesitas abrir una nueva pregunta para que puedas tener opción a que otros expertos te den una mejor solución. De preferencia pega el código que tienes actualmente, e indica en que situación genera el error. e.g. Al seleccionar por cantidad de libros, o algo parecido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas