Wie kann ich beim schleißen der Datei automatisch ein Backup der Datei erstellen lassen. Als Dateizusatz nach einem _ soll das Datum kommen.
Danke für Hilfe,
Daniel
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fn As String
If IsBackup Then Exit Sub 'nur wenn dies nicht schon eine Backup-Datei ist:
With ThisWorkbook
fn = .Path & "\" & _
Left(.Name, Len(.Name) - 4) & "_" & Format(Date, "yy_mm_dd") & ".xls"
Application.DisplayAlerts = False
.SaveCopyAs fn
Application.DisplayAlerts = True
End With
End Sub
Private Function IsBackup() As Boolean
Dim l As Integer
Dim fn As String
fn = Space(12) & ThisWorkbook.Name
l = Len(fn)
IsBackup = Mid(fn, l - 6, 1) = "_" And _
Mid(fn, l - 9, 1) = "_" And _
Mid(fn, l - 12, 1) = "_"
End Function
With ThisWorkbook
fn = "D:Backup\" & _ '<<<<<< hier anpassen
Left(.Name, Len(.Name) - 4) & "_" & Format(Date, "yy_mm_dd") & ".xls"
Application.DisplayAlerts = False
.SaveCopyAs fn
Application.DisplayAlerts = True
End With
Sub auto_close()
ActiveWorkbook.SaveAs ("d:\siko " & Date & ".xls")
End Sub
Um eine Sicherheitskopie beim Schließen einer Excel-Datei automatisch zu erstellen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
Öffne die Excel-Datei, für die Du die Sicherheitskopie erstellen möchtest.
Drücke ALT
+ F11
, um den VBA-Editor zu öffnen.
Wähle im Projekt-Explorer "DieseArbeitsmappe" aus.
Füge den folgenden Code in das Codefenster ein:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fn As String
If IsBackup Then Exit Sub 'nur wenn dies nicht schon eine Backup-Datei ist:
With ThisWorkbook
fn = .Path & "\" & _
Left(.Name, Len(.Name) - 4) & "_" & Format(Date, "yy_mm_dd") & ".xls"
Application.DisplayAlerts = False
.SaveCopyAs fn
Application.DisplayAlerts = True
End With
End Sub
Private Function IsBackup() As Boolean
Dim l As Integer
Dim fn As String
fn = Space(12) & ThisWorkbook.Name
l = Len(fn)
IsBackup = Mid(fn, l - 6, 1) = "_" And _
Mid(fn, l - 9, 1) = "_" And _
Mid(fn, l - 12, 1) = "_"
End Function
Schließe den VBA-Editor und speichere die Datei als Excel-Arbeitsmappe mit Makros
(.xlsm).
Wenn Du die Datei nun schließt, wird automatisch eine Sicherheitskopie mit dem aktuellen Datum erstellt.
Fehler: Die Datei wird nicht gespeichert.
Fehler: Sicherheitskopie wird im falschen Ordner gespeichert.
fn = "D:Backup\" & _
änderst in den gewünschten Zielordner.Falls Du keine VBA-Lösung nutzen möchtest, kannst Du auch manuell eine Backup-Datei erstellen:
Datei
> Speichern unter
.Dateiname_Backup_YY_MM_DD.xls
.Für eine automatisierte Lösung ohne VBA kannst Du auch die Funktion "AutoWiederherstellen" in Excel aktivieren, um periodische Sicherungskopien zu erstellen.
Hier sind einige praktische Beispiele, wie Du eine Sicherheitskopie erstellen kannst:
Backup beim Schließen in einem bestimmten Ordner:
fn = "D:\Backup\" & Left(.Name, Len(.Name) - 4) & "_" & Format(Date, "yy_mm_dd") & ".xls"
Einfaches Makro zur Speicherung:
Sub auto_close()
ActiveWorkbook.SaveAs ("d:\siko " & Date & ".xls")
End Sub
Verwende Versionierung: Wenn Du mehrere Sicherheitskopien behältst, füge die Uhrzeit zum Dateinamen hinzu, um eine noch genauere Versionierung zu erreichen.
Automatisierung: Du kannst diese Prozesse auch automatisieren, indem Du eine geplante Aufgabe erstellst, die das Makro regelmäßig ausführt.
Sicherungskopien ausschalten: Um die automatische Erstellung der Sicherungskopie zu deaktivieren, kannst Du die Funktion Workbook_BeforeSave
auskommentieren oder löschen.
1. Wie kann ich die Sicherheitskopie wiederherstellen?
Du kannst die Sicherheitskopie ganz einfach öffnen, indem Du die entsprechende Datei im Backup-Ordner öffnest.
2. Kann ich die Sicherungskopie auch im Cloud-Speicher speichern?
Ja, ändere einfach den Pfad im VBA-Code auf Deinen Cloud-Speicherort, z.B. fn = "C:\Users\DeinName\OneDrive\Backup\" & _
.
3. Wie kann ich die Sicherheitskopie deaktivieren?
Um die Excel Sicherungskopie auszuschalten, kannst Du die Funktion IsBackup
im VBA-Code anpassen oder entfernen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen