Sie wollen beim Öffnen einer Arbeitsmappe sofort eine Sicherungskopie in einem speziellen Verzeichnis anlegen, um nach Änderungen auf das Original zurückgreifen zu können. Das lässt sich per VBA regeln.

Voraussetzung ist, dass Sie das Verzeichnis für die Sicherungskopie zuerst per Windows Explorer anlegen. Für unser folgendes Beispiel haben wir den Ordner “C:\Storage\ExcelSicherung” angelegt. Den Pfadnamen übernehmen wir identisch im VBA-Code. Passen Sie gegebenenfalls den Code an Ihren Pfad an.

Starten Sie dann über “Extras | Makro” den “Visual Basic Editor”.  Wählen Sie “Einfügen | Modul” und geben Sie folgenden Code ein – Sie können ihn auch hier als Textdatei herunterladen und per Copy & Paste einfügen: Sichern-Code (346)

Dim boolRunning As Boolean
Sub Sichern()
Dim strMyWorkbook As String
Dim strMyBackup As String
Const BACKUP_DIR = "C:\Storage\ExcelSicherung\"
If Not boolRunning Then
If MsgBox("Möchten Sie eine Sicherungskopie erstellen?", vbYesNo) = vbYes Then
boolRunning = True
strMyWorkbook = ActiveWorkbook.Name
strMyBackup = BACKUP_DIR & ActiveWorkbook.Name
ActiveWorkbook.SaveAs Filename:=strMyBackup
End If
Else
boolRunning = False
ActiveWorkbook.RunAutoMacros xlSichern
End If
End Sub

Speichern Sie nun die Arbeitsmappe sicherheitshalber zwischen.

Im nächsten Schritt klicken Sie links im Projekt-Explorer auf “Diese Arbeitsmappe”. Hier geben Sie folgenden Code ein:

Option Explicit
Private Sub Workbook_Open()
Call Sichern
End Sub

Hinweis: “Sichern” ist der Name des Makros, den wir oben im Modul für die Prozedur vergeben habe.

Speichern Sie wieder die Arbeitsmappe und schließen Sie sie. Wenn Sie die Datei beim nächsten Mal öffnen, kommt eine Frage, ob Sie die Datei speichern wollen. Mit “Ja” wird sie im vorher eingestellten Verzeichnis als Sicherungskopie abgelegt. Sollte schon eine Datei mit gleichem Namen dort vorliegen, erfolgt vor dem Überschreiben eine Sicherheitsabfrage.

Zwei Codes für automatische Sicerungskopien

Zwei Codes für automatische Sicerungskopien

Ähnliche Beiträge:

Gilt für: Excel 2003