Consolidar varias hojas en una

Hola Experto
Me ayudas por favor, el caso es que tengo un libro A con cinco hojas que se están actualizando y modificando diariamente, y necesito pasar, copiar, consoligar, agrupar, o importar los datos de estas hojas a una sola hoja en otro libro B, pero que se actualicen periódicamente y automáticamente, no tengo un rango especifico pues están en constante modificación, esto es para llevar un control y back-up de las ventas.
Muchas gracias

1 respuesta

Respuesta
1
Sub auto_open()
a = Sheets.Count
d = 1
For i = 1 To a
If d = a Then
Else
d = d + 1
Sheets(d).Activate
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("base").Select
k = Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
Range("A" & k).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next i
Sheets("Base").Select
    Sheets("Base").Copy
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Respaldo.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub
Hola para que funcione esta macro debes crear una hoja al final de todas las hojas que ya tienes, y dicha hoja se debe llamar "BASE" luego la macro creara un respaldo cada vez que abras el archivo, es una manera de que sea periódica hay otras según las fechas pero no se que sea lo que más te conviene, en todo caso lo puedes adicionar a esta macro
No olvides finalizar esta pregunta.
Muchas gracias, pero no me anda totalmente, me abre un nuevo libro y me saca este error
?ActiveWorkbook.SaveAs Filename:= _
        "C:\Respaldo.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
es casi lo que necesito, pero que tal si me ayudas entonces digamos que no valla a otro libro, sino que vallan las hojas 1, 2, 3, y 4 y se consoliden igual en una hhoja llamada BASE, ¿hasta ahí me quedaría perfecto me colaboras con eso por favor?
Pues si no quieres que se vaya a otro libro si no que se quede en el mismo libro, debes borrar esta parte del código y listo
Sheets("Base"). Copy
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Respaldo.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow. Close
No olvides finalizar la pregunta
Por cierto el error se puede dar por la version de excel que tengas o por algún control sobre guardar info en el disco de la maquina. Pero dado que ya no necesitas guardar el nuevo archivo ya no es un problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas