Modificar código macro para unir hojas de distintos libros

Estoy buscando una solución a la MACRO que estoy usando. La misma sirve para unir libros, necesito modificarla para que solo me traiga al archivo que se genera, una hoja específica de cada libro. No se como modificarla

La MACRO es la siguiente

Sub UnirLibros()
Dim Directorio, NombreLibro As String
Dim ContadorFicheros As String
Dim Unidos As Workbook
Dim K, NumHojas As Integer
Dim Libro As Workbook

Directorio = ThisWorkbook.Path
ContadorFicheros = Dir$(Directorio + "\*.*")

'Crea el libro que contendrá a todos los demás
Application.SheetsInNewWorkbook = 1
Set Unidos = Application.Workbooks.Add

Do While ContadorFicheros <> "" And UCase(ContadorFicheros) <> "UNIR.XLSM"
Workbooks.Open Filename:=Directorio & "\" & ContadorFicheros
Set Libro = Workbooks(ContadorFicheros)
NumHojas = Libro.Worksheets.Count
For K = 1 To NumHojas
Libro.Worksheets(K).Copy after:=Unidos.Worksheets(Unidos.Worksheets.Count)
NombreLibro = Replace(Libro.Name, ".xlsx", "")
Unidos.Worksheets(Unidos.Worksheets.Count).Name = NombreLibro & "_" & Libro.Worksheets(K).Name
Next K
Workbooks(ContadorFicheros).Close
ContadorFicheros = Dir$
Loop
Unidos.Worksheets(2).Select
With Unidos
.SaveAs Filename:=Directorio & "\" & "unidos.xlsx"
.Close
End With
End Sub

1 respuesta

Respuesta
1

Si en lugar de traer 'todas' las hojas del libro solo necesitas la de cierto nombre (será el mismo nombre en cada libro), quita las líneas del bucle:

       For K = 1 To NumHojas

       Next K

Y arriba de la línea donde dice:

       Libro.Worksheets(K).Copy 

Debe quedar como:

         Set K = Sheets("nbre_de_la_hoja")

De ese modo cada vez que se menciona K será la hoja que designaste.

Te recuerdo que la consulta sigue aún pendiente... si te queda alguna duda comenta... sino valora para darla por cerrada.

Sdos!

La respuesta sigue aún como 'Pregunta esperando respuesta' ... considerando que ya te la respondí hace varios días atrás comenta si te queda alguna duda o de lo contrario valora para darla por cerrada (excelente o buena)

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas