Te anexo la macro para extraer celdas de otros libros y ponerlas en un nuevo libro.
Pon la siguiente macro en un libro nuevo.
Sub ExtraerDatos()
'Toma datos de varios libros y los pone en un nuevo libro
'Por.Dante Amor
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Set l1 = ThisWorkbook 'libro con la macro
'
ruta = "C:\trabajo\libros\" 'carpeta de libros
If Dir(ruta, vbDirectory) = "" Then
MsgBox "No existe la carpeta"
Exit Sub
End If
If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
archi = Dir(ruta & "*.xls*")
Set l3 = Workbooks.Add 'libro nuevo destino
Set h3 = l3.Sheets(1) 'hoja del libro nuevo destino
Do While archi <> ""
Workbooks.Open ruta & archi
Set l2 = ActiveWorkbook
Set h2 = l2.Sheets(1)
u1 = h3.Range("A" & Rows.Count).End(xlUp).Row + 1
'CELDAS que quieres extraer
h3.Cells(u1, "A").Value = h2.Range("A5")
h3.Cells(u1, "B").Value = h2.Range("A6")
h3.Cells(u1, "C").Value = h2.Range("A7")
h3.Cells(u1, "D").Value = h2.Range("B8")
h3.Cells(u1, "E").Value = h2.Range("F3")
l2.Close
archi = Dir()
Loop
l3.SaveAs Filename:=l1.Path & "Nuevo.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "Fin"
End Sub
Sigue las Instrucciones para un botón y ejecutar la macro
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: ExtraerDatos
- Aceptar.
- Para ejecutarla dale click a la imagen.
Antes de ejecutar la macro, cambia en esta línea de la macro
ruta = "C:\trabajo\libros\" 'carpeta de libros
"C:\trabajo\libros\" por el nombre de tu carpeta donde se encuentran los libros.
Lo siguiente que debes hacer es poner en las siguientes líneas las celdas que quieras obtener y en cuál columna la quieres poner. Yo te puse 5 ejemplos
'CELDAS que quieres extraer
h3.Cells(u1, "A").Value = h2.Range("A5")
h3.Cells(u1, "B").Value = h2.Range("A6")
h3.Cells(u1, "C").Value = h2.Range("A7")
h3.Cells(u1, "D").Value = h2.Range("B8")
H3. Cells(u1, "E").Value = h2. Range("F3")
La celda A5 de cada libro, la pondré en la columna A del nuevo libro.
La celda A6 de cada libro, la pondré en la columna B del nuevo libro.
Y así con las otras celdas del ejemplo.
Avísame cualquier duda.
.
.
Estimado Dante,, gracias por tu apoyo, he tratado de replicar tu macro, pero no me sale. Cree la misma carpeta donde hay tres archivos TestExcel1, TestExcel2 y TestExcel5 con los datos en las celdas,,, mi archivo con la macro se llama nuevo_macro (esta en la misma ruta) y al ejecutarlo me sale el mensaje "Microsoft Excel dejó de funcionar",, estoy usando excel 2013 - Edgard Soldevilla
Modificaste la macro? tendría que revisar la macro, pero en esta parte de comentarios no se puede poner la macro. Crea una nueva pregunta, ahí pones la macro modificado y qué cambios necesitas. - Dante Amor