¿Cómo hacer una macros que me genere un backup?

Deseo un botón que me copie todo los datos de una hoja excel y me los guarde en otro archivo excel sin perder formato y que me guarde todos los datos sin fórmulas.

1 respuesta

Respuesta
2

Te anexo la macro, cambia "Hoja1" por el nombre de la hoja que quieras respaldar, cambia "Libro2" por el nombre del nuevo archivo

Sub Respaldo_Hoja()
'
' Por.Dante Amor
'
    '
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Sheets("Hoja1").Copy
    Cells.Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues
    ruta = ThisWorkbook.Path & "\"
    ActiveWorkbook.SaveAs Filename:=ruta & "Libro2.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWorkbook.Close
    MsgBox "Hoja respaldada"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Amigo de antemano muchas gracias, Esta excelente pero olvide mencionar algunos detalles el primero es que la hoja que deseo copiar tiene celdas combinadas y me sale error el segundo es que en esa misma hoja existe una programación que llama a unos formularios y también lo copia, cosa que al abril el archivo me sale unos mensajes de que falta un objeto y por ultimo es que si copia todo pero lo copia con todo y formulas de las celdas que modificaciones de pueden hacer?

Pues no son "detalles", prueba la macro en otra hoja con algunas fórmulas para que veas el funcionamiento

Ya hice la prueba con celdas combinadas y no me envía error.

Qué error te aparee y en qué línea de la macro se detiene.

Ya hice pruebas con la hoja1, tiene macros, tiene fórmulas, tiene celdas combinadas y el resultado es: No copia las macros, pone valores en lugar de fórmulas y también copia las celdas combinadas.

¿Modificaste mi macro?

No modifiques mi macro, prueba tal cual está mi macro y no tendrás problemas.

Si amigo es como me dices ya me copia sin fórmulas y sin modificar nada, solo he modificado lo que me mencionaste el nombre de la Hoja y el nombre con que se guardara el libro, ahora todo lo que te mencione antes era porque mi hoja también tiene filtros le quite el filtro y me copio todo bien sin fórmulas solo valores pero si me sale un mensaje

Y cuando le doy depurar se va a la programación que tiene posicionándose a la línea en negrita

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = "$X$13" Then
UserForm2.Show
Else
If ActiveCell.Address = "$Z$13" Then
UserForm8.Show
Else
UserForm2.Hide
UserForm6.Hide
UserForm8.Hide
End If
End If
End Sub

y también me copia mis botones, podría de alguna forma evitar que salgan.

Wo wo wo, vamos por partes, jamás pudiera adivinar que tu hoja tenía autofiltros, celdas combinadas, imágenes, macros, etc etc

Para que no se copien las imágenes tienes que cambiar la propiedad de cada imagen a "No mover, ni cambiar tamaño con celdas"

Pero también lo puedo ajustar en la macro con esto:

Application.CopyObjectsWithCells = False

Sub Respaldo_Hoja()
'
' Por.Dante Amor
'
    '
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    Application.CopyObjectsWithCells = False
    Set h = Sheets("Hoja1")
    If h.AutoFilterMode Then h.AutoFilterMode = False
    If h.FilterMode Then h.ShowAllData
    h.Copy
    Cells.Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues
    Range("A1").Select
    ruta = ThisWorkbook.Path & "\"
    ActiveWorkbook.SaveAs Filename:=ruta & "Libro2.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWorkbook.Close
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Application.CopyObjectsWithCells = True
    MsgBox "Hoja respaldada"
End Sub

sal u dos

¡Gracias! 

Excelentísimo amigo gracias por compartir......

Una consulta podrías ayudarme con la otra pregunta que hice de repente te ha tocado un caso similar?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas