¿Cómo copiar datos de un libro a otro y guardarlo con la fecha que esta en una celda?

Tengo un libro llamado hogestishare recepción.xlsx que contiene una hoja que se llama carga_man.

Primero: para hacer un respaldo diario sin que el operador se de cuenta necesito guardarlo como misdocumentos/respaldo/mes/manifiesto dia 22.xlsx (la función del dia esta en una celda af13) (este primer proceso debe ser oculto sin que el operador sepa que eso esta ocurriendo; es decir Application.ScreenUpdating = False)

Segundo:

necesito copiar completamente los valores y formatos de la hoja carga_man en un libro nuevo y guardarse automáticamente con el nombre "manifiesto+fecha hoy" donde la función de la fecha esta en un rango af13 el cual una vez guardado debe ser cerrado.

Tercero: se debe terminar la rutina en el libro hogestishare recepción.xlsx


Nota: el libro hogestishare recepción.xlsx pesa 96 Megabytes razón por la cual solo quiero copiar los valores y formatos de la hoja carga_man, para poder enviarlos por email y por supuesto debe guardarse diariamente un respaldo de esos datos con la fecha diaria.

Gracias en ayudarme a solucionar esta rutina!!!!!

Jaiver Gil

Isla de Margarita

Venezuela

1 respuesta

Respuesta
1

A ver si lo he comprendido bien, prueba el siguiente código:

Sub Duplicando_Hoja()
Dim Fecha as string
Fecha = Range("af13").Value

Application.ScreenUpdating = False
Sheets("carga_man").Select
Sheets("carga_man").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
ActiveWorkbook.SaveAs ("Tu ruta\manifiesto dia " & Fecha & ".xlsx")
ActiveWorkbook.Close savechanges:=False

Application.ScreenUpdating = True
End Sub

La macro coge la hoja "carga_man" (que se supone seleccionada), y la copia en un libro nuevo, guardándolo con el nombre que has indicado, añadiendo la fecha (¿la pones completa o solo el numero de dia?) Al nombre en la ruta que le indiques.

Ya dirás. :)

es solamente el numero de dia, la idea es que el archivo que se esta copiando se llamara manifiesto dia 21.xlsx (solo el dd del rango que le di af13)

por otra parte trate de correrlo y se me colgó el libro hogestishare recepción.xlsx creo que el problema es en la ruta como hago para copiarlo en c:/respaldos/manifiesto dia 22.xlsx

porque de lo contrario hay que colocarle el usuario/manifiestos/enero2013/manifiesto dia 22.xlsx

Ok, cambia la programación por esta otra.

Sub Duplicando_Hoja()
Dim Fecha As String
Fecha = Mid(Format(Range("AF13"), "dd/mm/yyyy"), 1, 2)
Application.ScreenUpdating = False
Sheets("carga_man").Select
Sheets("carga_man").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
ActiveWorkbook.SaveAs ("c:\respaldos\manifiesto dia " & Fecha & ".xlsx")
ActiveWorkbook.Close savechanges:=False
Application.ScreenUpdating = True
End Sub

Ahora te cogerá la fecha de la celda AF13, solo el dia, y lo usará para nombrar y guardar el archivo en la ruta "c:\respaldos\"

Dime algo, :)

Gracias por la macro al final me estaba copiando la hja carga_man con las funciones y todo, pero pude agregarle que copiara solamente los valores y luego los formatos, de verdad gracias por esto siempre uso todoexpertos.com desde Isla de Margarita - Venezuela Jaiver Gil

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas