Macro para Copiar la hoja1 de todos los documentos abiertos a un libro llamado "concentrado"

tengo una macro que abre todos los archivos xls de un directorio y ahora necesito que de todos esos archivos copiar la hoja1 a un archivo llamado "concentrado"...alguien puede ayudarme??...

1 Respuesta

Respuesta
1

Te dejo los pasos para que los vayas programando. Si luego tenés alguna dificultad escribime la macro resultante con TODAS las aclaraciones y referencias

1- Guardar en variable el nombre del libro activo o concentrado

libro1 = activeworkbook.name

2- Abrir un primer libro (ese pasa a ser el activo), seleccionar la hoja que debe ser copiada, copiar la hoja o el range que corresponda y pegarlas en destino, por ej:

Cells.copy destination:=Workbooks(libro1).Sheets(1).cells(fila,col)

Aquí tenés que decidie en qué hoja y a partir de qué fila y col se pegará.

3- Cerrar el libro activo

4- Abrir el siguiente libro y así hasta finalizar.

Hola gracias por contestar...

la cantidad de archivos que se abren en mi macro es N y no se como copiar la hoja 1 de cada unos d ellos... el código que utilizo para abrir los archivos es este:

Sub Macro1()
Dim MiRuta As String
Dim arcact As String
MiRuta = ActiveWorkbook.Path
arcact = ActiveWorkbook.Name
Dim arch As String
arch = Dir("MI DIRECTORIO" & "\*.mht")
Do Until arch = ""
If arch = arcact Then GoTo Salto
Workbooks.Open Filename:="MI DIRECTORIO" & "\" & arch
Salto:
arch = Dir
Loop
End Sub

que necesito agregar para que de todos los archivos excel que encuentre en el directorio se copie la hoja1 a el libro activo

¿Ya probaste tu rutina y estás seguro que te abre todos los archivos de la carpeta deseada?

Bueno, si es así, agregá esto a partir de la línea en negrita:

Workbooks.Open Filename:="MI DIRECTORIO" & "\" & arch
'el libro que se abrió es el activo.
libro2 = ActiveWorkbook.Name
'Allí selecciono la hoja1 y la agrega al libro original
ActiveWorkbook.Sheets(1).Select
Cells.Select
Selection.Copy

'activo el libro original, le agrego una hoja y allí copio
Windows(arcact).Activate
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
Range("A1").Select
'cierro el libro sin guardar cambios
Workbooks(libro2).Close False
Salto:

Primero probá tu rutina sola, para comprobar que efectivamente abre todos los libros de tu carpeta. Luego probá con el agregado y comentame.

Si todo resultó no olvides finalizar la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas