Saltar al contenido

COMO AGRUPAR LIBROS DE EXCEL A OTRO LIBRO DE EXCEL


ROVER1965

Recommended Posts

publicado

Hola, tengo la contabilidad de mi casa de los últimos 10 años en libros de excel separados por años, cada libro consta de 14 hojas internas: 12 meses y dos de datos, ¿se pueden juntar todos esos libros en un único libro? gracias.

publicado

uuf, un poco dificil la cadena de comandos que tengo que copiar para unir 10 libros en uno, y no se si funcionará con el lin donde me envias, gracias d todos modos.

publicado

Hola, unicamente debes de copiar el codigo en el editor de visual basic y ejecutar la macro

Sub Abrir_Archivos()

Dim Hoja As Object

 

    Application.ScreenUpdating = False

       'Definir la variable como tipo Variante

       Dim X As Variant

       'Abrir cuadro de dialogo

       X = Application.GetOpenFilename _

           ("Excel Files (*.xlsx), *.xlsx", 2, "Abrir archivos", , True)

        'Validar si se seleccionaron archivos

        If IsArray(X) Then ' Si se seleccionan

          'Crea Libro nuevo

           Set newBook = Workbooks.Add

          'Captura nombre de archivo destino donde se grabaran los archivos seleccionados

           A = ActiveWorkbook.Name

 

       For y = LBound(X) To UBound(X)

       Application.StatusBar = "Importando Archivos: " & X(y)

         Workbooks.Open X(y)

         b = ActiveWorkbook.Name

           For Each Hoja In ActiveWorkbook.Sheets

            Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)

           Next

           Workbooks(b).Close False

       Next

       Application.StatusBar = "Listo"

       Call Unir_Hojas

    End If

    Application.ScreenUpdating = False

   End Sub

 

Sub Unir_Hojas()

Dim Sig As Byte, eliminar As Boolean

    For Sig = 2 To Worksheets.Count

        Worksheets(Sig).UsedRange.Copy _

        Worksheets(1).Range("a1000000").End(xlUp).Offset(1)

 

    Next

       Application.DisplayAlerts = False

 

    For Sig = 2 To Worksheets.Count

        Worksheets(2).Delete

    Next

Application.DisplayAlerts = True

 

End Sub

 

Este codigo no lo he probado, pero tiene buena pinta.

Ejecutalo y comenta si hace lo que pretendes o necesitas alguna modificacion.

 

Un saludo.

 

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.