Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatisches wöchentliches Bckup einer Exceldatei

Forumthread: Automatisches wöchentliches Bckup einer Exceldatei

Automatisches wöchentliches Bckup einer Exceldatei
13.01.2015 13:56:04
Peter
Hallo Zusammen,
ich habe folgendes Problem...
Ich suche eine Möglichkeit eine Excel-Arbeitsmappe automatisch und in wöchentlichem Abstand als Backup in einen gesonderten Ordner zu speichern. Die Datei sollte in diesem "Backup-Ordner" in folgendem Format abgelegt werden
DateinName_DatumVonJedemMontag.xls...
Habe bis jetzt schon mehrere Tage versucht dieses Problem zu lösen und bin auch im Internet nicht fündig geworden.
Ich wäre für jegliche Hilfe sehr dankbar...

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisches wöchentliches Bckup einer Exceldatei
13.01.2015 14:05:45
Ralf
Hallo Peter,
ein Ansatz wäre im Worksheets_Open() ein Code reinzulegen, der feststellt, ob heute Montag ist und dann die Datei als Kopie im Backup-Ordner ablegt.
Dazu muss die Datei natürlich Montags auch geöffnet werden.
Ralf

AW: Automatisches wöchentliches Bckup einer Exceldatei
13.01.2015 14:11:10
Peter
Hallo Ralf,
das mit dem Worbook_Open() hatte ich auch schon gelesen, mir fehlt es nur an der Umsetzung...
Die Datei wird sowieso täglich geöffnet... Da mehrere Leute an dieser Datei arbeiten, soll diese gesichert werden um auf die alten Wochenstände zurückgreifen zu können. Das soll dann so aussehen, dass in einem Ordner die Originaldatei liegt und in diesem Ordner ist noch ein Ornder names "Backup-Ordner" in dem die wöchentlichen Backups gespeichert werden.

Anzeige
Automatisches Backup einer Exceldatei
13.01.2015 14:18:55
Rudi
Hallo,
teste mal.
in DieseArbeitsmappe:
Private Sub Workbook_Open()
Dim sFile As String
sFile = Path & "\backup\" & Left(Name, Len(Name) - 5) & Format(Date, "YYYYMMDD") & Right(Name, _
5)
If Date Mod 7 = 2 Then
If Dir(sFile) = "" Then
SaveCopyAs Path & "\backup\" & Left(Name, Len(Name) - 5) & Format(Date, "YYYYMMDD") &  _
Right(Name, 5)
End If
End If
End Sub
Gruß
Rudi

Anzeige
AW: Automatisches Backup einer Exceldatei
13.01.2015 14:27:53
Peter
Hallo Rudi,
wie ich schon sagte, ich bin totaler Anfänger...
Ich weiss zwar wie ich den Code in die Arbeitsmappe einfüge, kann aber nicht genau sehen, wo ich die Pfade in deinen Code eintragen soll.
Könntest du mir das vielleicht nochmal näher erläutern?
Gruss und dickes DANKE schonmal
Peter

Anzeige
AW: Automatisches Backup einer Exceldatei
13.01.2015 14:30:59
Peter
Bzw. ich kann nicht genau sehen wo ich überhaupt was reinschreiben soll...
ich habe das, was du mir da geschrieben hsst eingefügt und es passiert erstmal garnichts...

AW: Automatisches Backup einer Exceldatei
13.01.2015 14:36:18
Peter
Hallo Ralf,
dein Code sieht ja echt wild aus ;-)
Ich habe jetzt soweit alles eingefügt und es passiert garnichts.
Muss ich noch die Pfade der Ursprungsdatei und des Zielordners einfügen?

Anzeige
AW: Automatisches Backup einer Exceldatei
13.01.2015 14:42:33
Rudi
Hallo,
es passiert nur Montags beim Öffnen der Datei was.
Private Sub Workbook_Open()
Dim sFile As String
sFile = Path & "\backup\" & Left(Name, Len(Name) - 5) _
& Format(Date, "YYYYMMDD") & Right(Name, 5)
If Date Mod 7 = 2 Then  '2=Montag, 3=Dienstag etc
If Dir(sFile) = "" Then 'noch nicht vorhanden
SaveCopyAs sFile
MsgBox "Datei unter " & sFile & " gespeichert.", , "Datensicherung"
End If
End If
End Sub

Datei speichern und wieder öffnen

Anzeige
AW: Automatisches wöchentliches Bckup einer Exceldatei
13.01.2015 14:30:37
Ralf
Hallo Peter,
öffne die Datei, drücke ALT+F11, im Projekt Explorer Doppelklick auf "DieseArbeitsmappe"
füge folgenden Code ein:
Option Explicit
Private Sub Workbook_Open()
Const Pfad As String = "X:\Documents\test\"
Dim DateiName As String, Endung As String, BackupDatei As String
If Weekday(Date, vbMonday) = 2 Then
' wenn montag ist
'dateiname ohne endung
DateiName = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1)
Endung = Mid(ThisWorkbook.Name, Len(DateiName) + 1)
BackupDatei = DateiName & "_" & Format(Date, "YYYYMMDD") & Endung
If Dir(Pfad & BackupDatei) = "" Then
ThisWorkbook.SaveCopyAs Pfad & BackupDatei
Else
'datei schon gebackupt
End If
End If
End Sub
Zum Testen bitte den Code im Codefenster mit F8 einzeln ablaufen lassen.
Ralf
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Automatisches wöchentliches Backup einer Exceldatei


Schritt-für-Schritt-Anleitung

Um ein automatisches Backup Deiner Excel-Datei zu erstellen, folge diesen Schritten:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Im Projekt-Explorer suchst Du nach der Arbeitsmappe, in der Du das Backup einrichten möchtest. Doppelklicke auf "DieseArbeitsmappe".
  3. Füge den folgenden Code in das Codefenster ein:
Option Explicit
Private Sub Workbook_Open()
    Const Pfad As String = "X:\Documents\test\backup\" ' Pfad zum Backup-Ordner
    Dim DateiName As String, Endung As String, BackupDatei As String

    If Weekday(Date, vbMonday) = 2 Then ' Überprüfen, ob heute Montag ist
        DateiName = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1)
        Endung = Mid(ThisWorkbook.Name, Len(DateiName) + 1)
        BackupDatei = DateiName & "_" & Format(Date, "YYYYMMDD") & Endung

        If Dir(Pfad & BackupDatei) = "" Then ' Sicherstellen, dass die Datei noch nicht existiert
            ThisWorkbook.SaveCopyAs Pfad & BackupDatei
            MsgBox "Backup unter " & Pfad & BackupDatei & " gespeichert.", , "Datensicherung"
        Else
            MsgBox "Die Sicherungskopie existiert bereits.", , "Hinweis"
        End If
    End If
End Sub
  1. Passe den Pfad (Const Pfad As String) an den Speicherort Deines Backup-Ordners an.
  2. Speichere die Arbeitsmappe und schließe den VBA-Editor.
  3. Öffne die Datei erneut, um das erste Backup zu erstellen.

Häufige Fehler und Lösungen

  • Fehler: "Es passiert nichts beim Öffnen der Datei."

    • Lösung: Stelle sicher, dass Du die Datei an einem Montag öffnest. Der Code wird nur an Montagen ausgeführt.
  • Fehler: "Backup-Datei existiert bereits."

    • Lösung: Der Code überprüft, ob die Sicherungskopie bereits vorhanden ist. Ändere den Dateinamen oder lösche die existierende Datei.

Alternative Methoden

  1. Geplante Aufgaben: Anstatt VBA zu verwenden, kannst Du Windows Aufgabenplanung nutzen, um ein Skript zu erstellen, das die Datei wöchentlich sichert.

  2. Cloud-Speicher: Nutze Dienste wie OneDrive oder Google Drive, um automatische Backups zu erstellen.


Praktische Beispiele

  • Backup für Projektdateien: Verwende den oben genannten VBA-Code, um wöchentliche Sicherungskopien von Projekt-Excel-Dateien in einem speziellen Ordner zu speichern.

  • Versionierung: Mit dem Code kannst Du sicherstellen, dass jede wöchentliche Sicherung eine neue Datei mit dem Datum enthält, was die Rückverfolgbarkeit erleichtert.


Tipps für Profis

  • Automatische Sicherungskopie Excel: Stelle sicher, dass der Backup-Ordner bereits existiert, bevor Du den Code ausführst. Ansonsten wird der Code fehlschlagen.

  • Testen des Codes: Verwende F8, um den Code schrittweise auszuführen. So kannst Du Fehler leichter identifizieren und beheben.


FAQ: Häufige Fragen

1. Wie oft wird das Backup erstellt?
Das Backup wird nur an Montagen erstellt, wenn die Datei geöffnet wird.

2. Muss ich etwas beachten, wenn mehrere Benutzer an der Datei arbeiten?
Ja, stelle sicher, dass die Datei immer an einem Montag von einem Benutzer geöffnet wird, um die Sicherung zu aktivieren.

3. Kann ich den Backup-Pfad ändern?
Ja, passe einfach den Const Pfad im VBA-Code an Deinen gewünschten Speicherort an.

4. Was passiert, wenn der Backup-Ordner nicht existiert?
Der Code schlägt fehl. Stelle sicher, dass der Ordner vorhanden ist, bevor Du das Skript ausführst.

Durch die Nutzung dieser Schritte und Tipps kannst Du ein effektives automatisches Backup Deiner Excel-Dateien einrichten und die automatische Sicherungskopie effizient verwalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige