Consolidar datos de dos hojas distintas en excel sin borrar los datos anteriores

Tengo una petición tengo un archivo en excel que a diario se actualiza de otros datos, contiene 3 hojas datos1, datos2 & resumen:

Bien las hojas real & teorico cabian datos todos los dias a traves de una macro, lo que necesito ahora es crear una macro que extraiga los datos de la tabla de hoja real y la hoja teorico como se trata de una tabla contienen filas que no tienen datos por lo cual me gustaria que la macro copiara solo las filas con datos y las pegara en la hoja resumen primero los datos de la hoja teorico y luego en la fila vacia siguiente los datos de la hoja real luego a la para colocar una columna la fecha en la cual se han pegado los datos.

Por ejemplo si la hoja resumen ya contiene el consolidado del dia 01-02.2017, que cuando le de copiar nuevamente me pegue los datos abajo de la ultima fila con datos y siempre coloque la fecha del dia que se esta copiando los datos y asi sucesivamente sin borras ningun dato de la hoja resumen que ya se haya copiado en otro dia.

Respuesta

Este código te funcionará siempre que no superes las 10.000 filas (se podróa aumentar cambiando la cifra)

Sub Macro3()
    Sheets("Real").Select
    Range("C4:G10000").Select
    Selection.Copy
    Sheets("Resumen").Select
    Range("C4").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Range("C4:G10000").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Delete Shift:=xlUp
    Sheets("Teórico").Select
    Range("C4:G10000").Select
    Selection.Copy
    Sheets("Resumen").Select
    Range("C4").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Range("C4:G10000").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Delete Shift:=xlUp
End Sub

Comenta si te ha funcionado

gregori00001 gracias por tu respuesta, para ls copia de los datos esta muy bien, ahora como podría agregar en una columna H por ejemplo en la hija resumen la fecha en la que los datos fueron copiados ?

De ante mano gracias 

He añadido unas líneas para hace lo que dices:

Sub Macro3()
Application.ScreenUpdating = False
    Sheets("Real").Select
    Range("C4:G10000").Select
    Selection.Copy
    Sheets("Resumen").Select
    Range("C4").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Range("C4:G10000").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Delete Shift:=xlUp
    Sheets("Teórico").Select
    Range("C4:G10000").Select
    Selection.Copy
    Sheets("Resumen").Select
    Range("C4").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Range("C4:G10000").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Delete Shift:=xlUp
    Range("G4").Select
    Do
    If ActiveCell.Value = "" Then
    ActiveCell.Value = Date
    ActiveCell.Offset(1, 0).Select
    Else
    ActiveCell.Offset(1, 0).Select
    End If
    Loop Until ActiveCell.Offset(0, -1).Value = ""
Application.ScreenUpdating = True
End Sub

Para otras ocasiones, es mejor que pidas todo lo que necesites desde el principio para evitar duplicar trabajo, o si quieres ampliar utilizar un nuevo post haciendo referencia al post original para que cualquier experto te pueda ayudar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas