Sicherungskopie einer Excel-Arbeitsmappe beim Öffnen automatisch speichern
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.
Ähnliche Beiträge:
Gilt für: Excel 2003




Hallo.
Vielen Dank für die guten Hinweise und Tutorials.
Leider wird bei mir keine Sicherungskopie erstellt… VBA gibt aber auch keinen Fehler aus. Ich werde gefragt, ob ich eine Kopie erstellen möchte und danach passiert “nichts” mehr.
Freue mich über weitere Hilfe.
Vielen Dank.
@alpipego: Welche Excel-Version? Der VBA-Code funktioniert nur unter Excel 2003, nicht in späteren Versionen…
ahh. vielen Dank.
Ich habe 2010 und jetzt sehe ich natürlich auch den Hinweis unter dem Text.
Gibt es was ähnliches für 2010? Also schon fertige Codesnippets?
Danke
Hm, vielleicht kann ich das Beispiel mal anpassen… Dauert aber etwas…
Hallo Elmar,
ich habe das Problem soweit gelöst. Meine Workbbok erstellt jetzt automatisch beim schließen eine Sicherungskopie.
Aber vielen Dank für die Mühen!
Gruß
Hallo,
habe gerade den VBA Code in meine Datei eingefügt, allerdings soll er bei mir die Abfrage der Backupspeicherung beim Schließen der Datei durchführen. Inwieweit und an welchen Stellen muss ich dann meinen VBA-Code anpassen?
Danke!