Maximal 5 Sicherungskopien in Excel erstellen
Schritt-für-Schritt-Anleitung
Um sicherzustellen, dass Du maximal 5 Sicherungskopien in Excel behältst, kannst Du den folgenden VBA-Code in Deinem Excel-Arbeitsbuch verwenden. Dieser Code erstellt automatisch eine Sicherungskopie, löscht jedoch die älteste Kopie, wenn mehr als 5 Backups vorhanden sind.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)", wähle "Einfügen" und dann "Modul".
- Kopiere den folgenden Code in das Modul:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim SavePath As String
Dim FileName As String
Dim FileExtension As String
Dim FileDate As String
Dim FileBackupName As String
Dim FileUsername As String
Dim Datei As String
Dim Zähler As Long
Dim x As Long
SavePath = ThisWorkbook.Path & "\Backup\"
FileName = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
FileExtension = Mid(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") + 1)
FileUsername = Environ("UserName")
FileDate = Format(Now, "YYYYmmdd_hhmmss")
' Backup erstellen
Datei = Dir(SavePath & FileName & "_" & FileUsername & "_*." & FileExtension)
Do While Datei <> ""
Zähler = Zähler + 1
Datei = Dir
Loop
If Zähler >= 5 Then
' Lösche das älteste Backup
Dim ältestesBackup As String
ältestesBackup = Dir(SavePath & FileName & "_" & FileUsername & "_*." & FileExtension)
Kill SavePath & ältestesBackup
End If
FileBackupName = SavePath & FileName & "_" & FileUsername & "_" & FileDate & "." & FileExtension
ActiveWorkbook.SaveCopyAs FileBackupName
End Sub
-
Speichere Deine Änderungen und schließe den VBA-Editor.
-
Teste den Code, indem Du das Arbeitsbuch speicherst. Du solltest nun maximal 5 Sicherungskopien im angegebenen Backup-Ordner sehen.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch manuell Backups erstellen, indem Du das Arbeitsbuch unter einem neuen Namen speicherst. Du könntest auch eine Batch-Datei verwenden, um alte Backups zu löschen, allerdings ist dies weniger automatisiert und erfordert mehr manuelle Eingriffe.
Praktische Beispiele
Nehmen wir an, Dein Arbeitsbuch heißt Projektplan.xlsx
. Nach dem Ausführen des oben genannten Codes wird der Backup-Ordner folgende Dateien enthalten:
Projektplan_MaxMustermann_20231017_120000.xlsx
Projektplan_MaxMustermann_20231017_121500.xlsx
Projektplan_MaxMustermann_20231017_123000.xlsx
Projektplan_MaxMustermann_20231017_124500.xlsx
Projektplan_MaxMustermann_20231017_130000.xlsx
Wenn Du nun ein weiteres Mal speicherst und bereits 5 Backups vorhanden sind, wird das älteste Backup (z.B. Projektplan_MaxMustermann_20231017_120000.xlsx
) gelöscht.
Tipps für Profis
- Überlege, den Backup-Pfad dynamisch zu gestalten, sodass er auf einen Cloud-Speicher verweist. So hast Du immer Zugriff auf Deine Backups, egal wo Du bist.
- Achte darauf, den Namen der Sicherungskopien so zu gestalten, dass sie leicht identifizierbar sind, z.B. durch Hinzufügen des Datums und Uhrzeit.
FAQ: Häufige Fragen
1. Kann ich die Anzahl der Backups ändern?
Ja, Du kannst die Zahl im Code anpassen, indem Du die Bedingung If Zähler >= 5 Then
auf die gewünschte Anzahl änderst.
2. Funktioniert dieser Code in Excel 2016?
Ja, der Code ist mit Excel-Versionen ab 2010 kompatibel, also auch in Excel 2016.
3. Was passiert, wenn ich Excel schließe, ohne zu speichern?
In diesem Fall wird kein Backup erstellt, da der Code nur vor dem Speichern ausgeführt wird.