PARA DAM: Consolidación de información Código.

Hola amigo Dam, espero que te encuentres muy bien.
Estoy realizando un nuevo archivo en donde necesito consolidar información que se encuentra en un mismo libro de Excel pero en diferentes pestañas del mismo.
Este archivo del cual te comento en ocasiones tiene 11 pestañas en promedio, este número es variable, cabe mencionar que todas las pestañas del archivo tienen los mismos encabezados y el mismo número de columnas, los nombres de cada pestaña son los mismos pero solo se distinguen por números consecutivos (“Ejemplo: DataBase, DataBase1,DataBase2”)..
Lo que deseo hacer es consolidar toda la información en un nuevo libro de Excel para que naturalmente toda la información de las “11 pestañas” se recopile en una sola hoja. Lo que tengo en mente es lo siguiente.
1.- Posicionarme en la primera hoja del libro de las 11 pestañas, en la celda "A1" ya que ahí empieza la información que necesito, para posteriormente seleccionar toda la información con este código.

Sheets(“DataBase”).Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

2.-Crear un nuevo libro de Excel y en la hoja1 pegar la información que se copio en al paso anterior.

Este código lo desconozco.

3.-Regresar al libro de las 11 hojas y pasar a la segunda hoja pero en a partir de esta hoja nos posicionaremos en la celda “A2”, ya que los encabezados son los mismos de la primer hoja.

Windows("DataBase.xlsx").Activate
Sheets(“DataBase1”).Select
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

4.-Regresamos al nuevo libro donde estamos consolidando la información y nos posicionamos en la siguiente fila del último registro de la columna “A”, para poder pegar la información de manera consecutiva.

Windows("Libro Nuevo.xlsx").Activate
Range(“A1”).Select
Selection.End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste

Estos pasos se repetirían hasta llegar a la última hoja pero no se como hacer el contador de hojas para que detecte en automático cuantas veces realizara este proceso. Existirá alguna forma de optimizar este proceso?, como siempre quedo en espera de tu valiosa ayuda.

Saludos..!!, JPC.

1 Respuesta

Respuesta
1

Prueba la siguiente macro

Sub consolidar()
'Por.DAM
Set l1 = ThisWorkbook
Set l2 = Workbooks.Add
l1.ActiveSheet.Rows(1).Copy l2.ActiveSheet.Rows(1)
For Each h In l1.Sheets
    h.Range("A2", h.Range("A2").SpecialCells(xlLastCell)).Copy _
    l2.ActiveSheet.Range("A" & l2.ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1)
Next
End Sub

Saludos. Dante Amor
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas