Saltar al contenido

Juntar varios libros en uno utilizando macro


Recommended Posts

publicado

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

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.