Copiar hojas

Que tal Fejoal, Un gran placer volver a saludarte. Quisiera que me ayudaras, ¿cómo puedo crear una macro, que estando en Hoja14, al presionar un botón, me copie sólo esa hoja a otro libro en la Hoja1, para ir llevando un historial pero que copie la hoja tal cual con todo y formatos. Cuándo modifique los datos de la Hoja14 y presione el botón, me grabe los datos en la hoja2 del hostorial, y así sucesivamente cada vez que presione ese botón?. De antemano, Muchas Gracias.

1 Respuesta

Respuesta
1
A continuación te copio la macro que desarrollé para que haga lo que solicitabas:
Sub GuardaHist()
'Fer, coloca aquí tus datos reales:
Carp_dest = "C:\Mis Documentos\Ferelias"
Arch_Desd = "historial"
Hoja_orig = "Hoja14" ' O puedes reemplazarlo por Hoja_orig = ActiveSheet.name
'para que tome la hoja activa al momento de disparar la macro
'----------------------- gracias!
With Application
.StatusBar = "Actualizando historial. Un momento, por favor"
.ScreenUpdating = False
Carp_dest = Carp_dest & IIf(Right(Carp_dest, 1) = "\", "", "\")
Arch_Desd = Arch_Desd & IIf(Right(Arch_dest, 4) = ".xls", "", ".xls")
Workbooks.Open Carp_dest & Arch_Desd
ActiveWindow.ActivatePrevious
Sheets(Hoja_orig).Copy After:=Workbooks(Arch_Desd).Sheets(Workbooks(Arch_Desd).Sheets.Count)
Sheets(Sheets.Count).Name = "Hoja" & Sheets.Count
ActiveWorkbook.Close True
.StatusBar = False
.ScreenUpdating = True
End With
End Sub
Como verás, es necesario que el libro donde agregues la hoja de historial sea abierto para poder incluirle una copia de la hoja14.
La macro se encarga de abrirlo (con los datos que le das en las variables iniciales), agregarle la hoja, renombrarla grabar el archivo y cerrarlo.
Pruébalo y dime si es lo que necesitas.
Un abrazo!
Fernando
Muchísimas gracias mi Fer, la macro corre perfectamente. Te agradezco como siempre tu buena voluntad y disposición para ayudar. Definitivamente eres el experto N°1. Recibe saludos de Querétaro, México.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas