Problemas con error al importar datos de otro libro VBA
Estoy realizando una macro para importar datos de distintos libros que voy a ir abriendo uno a uno con la macro.
Esos libros son iguales la única diferencia es que son de compañías distintas, sin embargo quiero ir consolidando todo en una sola hoja para hacer una tabla dinámica luego.
De cada libro, quiero importar 4 columnas de las hojas "Registro F-Proveedor", "Registro F-Factura", y las columnas que quiero extraer son la periodo (columna B), proveedor (columna D), cuenta (Columna AC) e importe (columna I) en ambas pestañas, sin el encabezado, ya que la pestaña hoja de destino ya los tiene.
Yo quisiera que estos datos, se pegaran en el libro "Reporte", en la pestaña "Data", a partir de la columna B, y en la columna A se llene con el nombre de la compañía que está en la hoja Menú del libro que voy a ir abriendo en la celda M2.
Yo comencé a hacer una macro para ir probando si funcionaba pero me ha dado errores en varios punto cada vez que la voy arreglando. El último error, me dio en la variable u1 cuando estoy contando las filas hasta donde voy a hacer la selección que voy a importar.
Sub LoadInfo() Dim InfoPath As String 'donde se guada la información de la ubicacion del libro de info Dim arr As Variant Set h1 = Sheets("Data") Set h2 = Sheets("Reporte") If MsgBox("¿Desea actualizar la base de datos?", vbQuestion + vbYesNo, AddIn) = vbNo Then Exit Sub Application.ScreenUpdating = False 'para que no se vea en pantalla la apertura del libro (tarda menos) InfoPath = Application.GetOpenFilename 'display para abrir libro de info Workbooks.Open Filename:=InfoPath 'abro el libro Set h3 = Sheets("Registro F-Proveedor") Set h4 = Sheets("Registro F-Afiliado") Set h5 = Sheets("Base de datos") fila = 2 u1 = h3.Range("A2" & Rows.Count).End(xlUp).Row arr = wb.h3.Range("D" & fila & ":D" & u1 & ",AC" & fila & ":AC" & u1 & ",I" & fila & ":I" & u1) Workbooks("Reporte").Activate h1.Range("B" & Rows.Count).End(3)(2).Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr Worksheets("Reporte").Activate 'para volver a la hoja de resultados Application.DisplayAlerts = False 'para que no salte cuadro de diálogo de clipboard Application.ScreenUpdating = True End Sub
Por favor, si me pueden ayudar, estaré muy agradecido.