Soy nuevo en este foro. quisiera saber si son capaces de ayudarme con el siguiente porblema:
Estoy utilizado el codigo de mas abajo, que junta varios libros en uno solo (nuevo libro creado por el macro), y me gustaria que si se puede hacer que junte esos libros en el mismo donde tengo la macro y sin borrar las hojas que existe.
saludos y gracias
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"
Estimados,
Soy nuevo en este foro. quisiera saber si son capaces de ayudarme con el siguiente porblema:
Estoy utilizado el codigo de mas abajo, que junta varios libros en uno solo (nuevo libro creado por el macro), y me gustaria que si se puede hacer que junte esos libros en el mismo donde tengo la macro y sin borrar las hojas que existe.
saludos y gracias
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