Recolectar tuplas de diferentes hojas en Excel

Hola! Tengo una duda que no sé si será sencilla, pero en Excel no he hecho nunca nada parecido.
Me han pasado muchas hojas Excel con información que viene en el mismo formato, porque van dedicadas a lo mismo (o sea, como si en todas las columnas fueran "Nombre", "Apellidos", "DNI", "Ciudad", "Profesión", etc), y lo primero que debo hacer para trabajar con esa información es juntarla en una sola hoja.
Creo haber visto que desde las macros puedo plantear un recorrido de las hojas que haya en una carpeta, pero no se cómo. ¿Alguien me puede ayudar?
Muchas gracias por adelantado.
1

1 respuesta

Respuesta
1
Prueba este código:
Sub ProcesaLote()
Dim FS As FileSearch
Dim FilePath As String, FileSpec As String
Dim i As Integer
FilePath = ThisWorkbook.Path & "\"
Set FS = Application.FileSearch
With FS
.LookIn = FilePath
.FileName = FileSpec
.Execute
' Salir si no se encontraron archivos
If .FoundFiles.Count = 0 Then
MsgBox "No se encontraron archivos"
Exit Sub
End If
End With
' Recorrer los archivos
For i = 1 To FS.FoundFiles.Count
Call ProcessFiles(FS.FoundFiles(i))
Next i
End Sub
Sub ProcesaArchivos(NombreArchivo As String)
Dim NextRow As Long
' Importar Archivos
Workbooks.Open FileName:=NombreArchivo, _
Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlFixedWidth, _
FieldInfo:= _
Array(Array(0, 1), Array(3, 1), Array(12, 1))
' Rango para ser copiado
Range("D43:X43").Select
Selection.Copy
Windows("Tu Archivo.xls").Activate
NextRow = Range("A65536").End(xlUp).Row + 1
ActiveSheet.Paste
End Sub
[email protected]
Ok es bueno. Ya conseguí yo hacer un código, pero el que tú me das es bastante más sofisticado que el mío, así que lo usaré para la siguiente ocasión.
Muchas gracias por tu tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas