[VBA] Excel - Backup speichern bei Änderung

#basTi

Commodore Pro
Registriert
Aug. 2005
Beiträge
4.760
Hallo zusammen :)

ich hab eine kurze und für VBA Programmierer wahrscheinlich leichte Aufgabe:

Ich möchte ein Backup einer Exceldatei speichern sobald der User selbst speichert (zB durch STRG + S).

Um das ganze Anschaulicher zu machen einfach mal ein Beispiel:
Ich habe eine Exceldatei namens XYZ.xls
Wenn ich diese Datei öffne, etwas ändere und anschliessend speicher, soll gleichzeitig ein duplikat im Hintergrund gespeichert werden ( zB in einen Unterordner namens "Backup" und als dateiname XYZ_Datum.xls ).

Ohne Änderung soll auch kein Backup gespeichert werden.


Schonmal vielen dank für die Antworten.
 
In Deinem Workbook musst DU das VBA / den VBA Editior aktivieren. Ich denke mal, dass Du weisst wie das geht. Dann in dem "Workbook" Ereignis 'Workbook_AfterSave'
Das hier eintragen. Ist nur eine kleine Lösung, die Du noch erweitern kannst:



On Error Resume Next
Static Saver As Boolean
If (Saver = False) Then
Application.DisplayAlerts = False
Saver = True
Me.SaveAs "Testmappe_" & Format(Now, "yyyy-mm-dd"), 50, , , , , , xlLocalSessionChanges
Saver = False
Application.DisplayAlerts = True
End If
 
Danke schonmal. :)
Werd's erst morgen testen können.

//Update
Soo habs jetzt getestet ... die Richtung ist auf jeden Fall schonmal richtig aber es gibt noch ein paar Sachen die anders sein sollen:

-Am wichtigsten: Sobald ich speicher arbeite ich im Backup weiter und nicht im original (Bsp: Ich speicher test.xls und dannach arbeite ich in testmappe_datum.xlsb weiter). Ich hab schon probiert deinen Code in BeforeSave reinzumachen aber dann stürtzt Excel beim speichern ab.
- Wie krieg ich es in einen Unterordner gespeichert?
- Der Dateiname soll dem aktuellen Dateinamen entsprechen

Vielen dank schonmal :)

/Push
 
Zuletzt bearbeitet:
Zurück
Oben