Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Backups - das immer aktuelle Thema

Backups - das immer aktuelle Thema
Werner
VBA-Kenntnisse: mittelgut
Hallo Freunde!
Ich bin sicher, die folgende Frage wurde schon häufig gestellt, doch die Diskussionen im Archiv waren für mich nur teilweise aufschlussreich. An anderer Stelle im Internet, z.B. in dem vortrefflichen Newsletter www.techsupportalert.com (von Gizmo = Jan Richards), liest man, dass in Sachen Backup immer noch viel Unsicherheit besteht.
Wie erstellt man für den Normalfall ein vernünftiges Backup einer Excel-Datendatei, die sich täglich ändert? Für den Fall eines Datenverlustes z.B. durch einen Fehler in der Excel-Software sollte man immer auf eine Vorgängerversion der Datei zurückgreifen können. Ich erstelle täglich ein Gegenwartsbackup (= Backup der aktuellen Dateiverion mit Syncback und schiebe dazu vorher die bisherige Version der Datei in den Ordner "Gestern". Vorher muss ich aber die vorletzte Version der Datei aus dem Verzeichnis "Gestern" in das Verzeichnis "Vorgestern" schieben. So ist das machbar, nur sehr umsändlich. Kann man das irgendwie vereinfachen und auch automatisieren?
Software von der Art des häufig upgedateten Cobian Backup getraue ich mich nicht einzusetzen, weil man mit Cobian gesicherte Dateien später nicht ohne Cobian zurückerhalten kann (war auch eines von Gizmos Bedenken).
Daten gehen immer wieder verloren, deshalb habe ich den Mut, die Backup-Frage auf meine Art, wie oben, noch einmal zu stellen.
Vielleicht genügt eine Verweisung statt Beantwortung dieser Frage.
Werner

AW: Backups - das immer aktuelle Thema
07.05.2008 11:08:00
Hajo_Zi
Hallo Werner,
benutze das Sicherungsprogramm vom Betriebssystem. Ich habe damit unter Vista sehr gute Erfahrungen gemacht.

AW: Backups - das immer aktuelle Thema
07.05.2008 11:12:55
Oberschlumpf
Hi Werner
Was hältst du von der Idee, jeder Backup-Datei einen Datum/Zeit-Stempel zu verpassen?
Z Bsp so:
DeinDateiname-0705208_110905.xls
So kannst du dir dann die Ordner gestern,vorgestern,vorvorgestern..übermorgen :-) usw sparen.
Und mit der Sekundenangabe im Dateinamen gibt es auch keine Probleme mit gleichem Dateinamen im selben Verzeichnis, da jede Uhrzeit nur einmal existiert und es unwahrscheinlich ist, dass du innerhalb der selben Sekunde 2 Backup-Dateien erstellst.
Hilft dieser Gedankengang?
Ach ja, den Code für "mein" Backup könntest du ja in das WorkbookOpen-Ereignis deiner Datei schreiben
Ciao
Thorsten

Anzeige
AW: Backups - das immer aktuelle Thema
Werner
Hallo Oberschlumpf,
Dank! Das mit der Sekundenangabe finde ich besonders gut: Da kann man bei Bedarf auch mehrmals am Tag speichern. Und man kann ältere Dateien auch automatisch löschen lassen. Wie man das macht, muss ich mir mal selbst überlegen...
Zeitstempel gibt es übrigens auch in der Software Cobian Backup.
Werner

AW: Backups - das immer aktuelle Thema
Werner
Hallo Oberschlumpf,
habe aufgrund deines Vorschlags einen Code, wie folgt, entwickelt:
'Speichert die Datei jeweils mit Angabe des Datums und der genauen Uhrzeit
'Kurztasten: Ctrl + Shift + "n"
'Diese Kurztastenkombination per VBA in "ThisorkBook" programmieren:
'etwa so: Application.OnKey "^+n", "SpeichernMitDatum"

Public Sub SpeichernMitDatum()
Dim strPfad As String
Dim DateiNm As String
strPfad = "yyy" 'anpassen
DateiNm = "xxx" 'anpassen
With Application.WorksheetFunction
ThisWorkbook.SaveAs (strPfad & "\" & DateiNm & "$" & _
.Text(Date, "DDMMMYYY") & "$" & .Text(Time, "hhmmss"))
End With
End Sub


Dieser Code speichert bei Ausführung die jeweils aktuelle Datei immer mit einem neuen Zeitstempel in das gleiche Verzeichnis. Daraus kann man die alten Dateien nach einiger Zeit ja von Hand löschen.
Werner

Anzeige
AW: Backups - das immer aktuelle Thema
08.05.2008 08:05:07
Oberschlumpf
Moin Werner
Schön, freut mich, dass du (auch?) meine Idee aufgegriffen hast.
Ciao
Thorsten

Dateien vermehren sich wie Karnickel
Werner
Hallo Oberschlumpf,
deine Idee ist einfach und wirksam. Natürlich bekommt man so, wenn man mit der gleichen Kurztastenkombination häufig am Tag speichert, nach einigen Tagen eine Unmenge von Dateien mit unterschiedlichen Zeitstempeln (die Dateien vermehren sich wie die Karnickel). Dann hat man nach einiger Zeit wirklich genug Sicherheitskopien! Das Löschen älterer Dateien manuell im Windows Explorer ist nicht schwierig, aber etwas aufwendig. Ich überlege noch, wie man das automatisieren könnte...Hat jemand dazu einen weiterführenden Gedanken? Werner

Anzeige
AW: Dateien vermehren sich wie Karnickel
08.05.2008 10:09:00
Oberschlumpf
Hi Werner
Kannst du hiermit etwas anfangen?
https://www.herber.de/bbs/user/52221.xls
Die Datei musst du in DEM Verzeichnis speichern, in dem deine BackUp's sind.
Beim Öffnen der Datei erscheint ein Userform(ular), welches nach Eingabe von Datum + Uhrzeit verlangt.
Nach Klick auf OK werden alle Dateien darauf überprüft, ob im jeweiligen Dateinamen die Angabe vom Datum kleiner ist als das Datum im Userform. Wenn JA, wird die Datei gelöscht. Wenn NEIN, wird überprüft, ob die Datumsangabe gleich dem Datum im UF ist. Wenn JA, wird geprüft, ob die Uhrzeit im Dateinamen kleiner ist als die im UF. Wenn JA, wird die Datei auch gelöscht.
Ich habe jetzt deinen Code nicht weiter getestet, sondern bin davon ausgegangen, dass du meine Idee mit dem Dateinamen, z Bsp
DeinDateiname-08052008_100712.xls
genau so übernommen hast.
Wenn dein Dateiname also anders aussieht, musst du meinen Code anpassen.
Genau so müsstest/könntest du den Code anpassen, wenn du diese Datei NICHT im Verzeichnis mit den BackUp's speichern willst.
Und ich habe auch keine Kontrolle eingebaut, ob die Eingaben im UF den Vorgaben (tt.mm.jjjj und hh:mm:ss) entsprechen.
Hilft das denn so weit?
Teste am besten erst mal mit ein paar Kopien deiner BackUp's.
Ciao
Thorsten

Anzeige
Hatte Datum und Uhrzeit formatiert
Werner
Hallo Oberschlumpf,
Wieder eine gute Idee von dir! Dank! Werde deinen Code genau studieren (brauche dazu ca. 1 Tag Bedenkzeit). Das automatische Löschen ab einem bestimmten Datum und einer bestimmten Uhrzeit ist sicherlich sehr hilfreich.
Deinen Vorschlag hatte ich sinngemaess übernommen. Datum und Uhrzeit habe ich im Dateinamen allerdings mit der Excel-Funktion "TEXT" formatiert, damit er etwas besser lesbar ist und nicht nur nackte Zahlen aufeinanderfolgen. Ob das mit deinem Makro vereinbar ist, muss ich erst noch herausfinden. Werner

Code funktioniert primal
Werner
Hallo Oberschlumpf,
der Code funktioniert prima, wenn ich die Formatierung des Datums und der Uhrzeit in meinem Makro aendere: das Jahr muss vierstellig und der Monat zweistellig, beides numerisch, sein (sonnst würde ja die Abfrage "Isnumeric" in dem Makro nicht funktionieren).
Durch deinen Code verstehe ich auch die Anweisung "Dir" besser und habe gemerkt, wie man Dateinamen mit Textfunktionen sezieren kann. Noch einmal besten Dank!
Vorsichtig muss man bei der Datumseingabe natürlich sein, sonst können alle Daten weg sein!
Ich habe mir eine Miniroutine zum Start der Userform geschrieben und diese auf eine Kurztastenkombination gelegt. Abends speichere ich die Dateien dann mit einer Synchronisiersoftware (bei mir SyncBack) zusätzlich auf eine externe Festplatte Werner

Anzeige
AW: Code funktioniert primal
09.05.2008 09:07:07
Oberschlumpf
Moin Werner!
Na, dann is ja alles klar :-)
Ciao
Thorsten

AW: Backups - das immer aktuelle Thema
07.05.2008 11:21:09
Armin
Hallo Werner,
das sichern der Exceldatei ist sowieso nicht der Weißheit letzter Schluss.
Denn wenn der sehr gefürchtete Fehler „DLL nicht gefunden“ hoch kommt ist es aus mit dem Sheet. Der gesamte VBA Code ist weg! Das tritt vorallem bei 2003 auf.
Ich benutzte seit Jahren eine andere Methode und schreibe die Daten entweder in verschiedene Sheets oder als csv-Datei in Textform weg und kann dann die Daten jederzeit zurückholen. Bei wichtigen und Projekten bzw. großen Datenmengen verwende ich durchweg Datenbanken.
Der Rest ist nur noch ein normales Backup Thema.
Gruß Armin

Anzeige
AW: Backups - das immer aktuelle Thema
Werner
Hallo Armin,
bei größeren Datenbeständen also ggf. eine Datenbank benutzen, sagst du. Der Umstieg ist natürlich schwer, wenn man schon längere Zeit mit Excel gearbeitet hat. (Viele Anwender benutzen das falsche Programm, sagt Buchautor Ignatz Schels). Was soll man dann mit den vielen Excel-Macros machen? Lassen sich diese z.B. ohne größeren Aufwand in ACCESS-VBA übersetzen? Die Daten als solche aus Excel in eine Datenbank zu übertragen, ist ja nicht so schwer: zur Not genügt schon das Kopieren über die Zwischenablage, ggf. häppchenweise.
Du erwähnst auch csv-Dateien (vgl. hierzu http://de.wikipedia.org/wiki/CSV_(Dateiformat)) Man schreibt die Daten z.B., durch Komma getrennt, in Word. Die Frage, wie man das aus einer Excel-Userform heraus macht, hatte ich in diesem Forum schon gestellt und bis gestern diskutiert, noch ohne greifbares Ergebnis. Vielleicht kannst du uns in diesem schwierigen Punkt noch etwas weiterhelfen. Besten Dank! Werner

Anzeige
eine echte Alternative
Werner
Hallo Frank,
eine spezielle Excel-Backup Software ist sicherlich eine Alternative zu einer selbstprogrammierten Lösung.
Ich lade sie mir mal runter. Dank für den aufschlussreichen Hinweis!

AW: eine echte Alternative
07.05.2008 12:51:45
Armin
Hallo Werner,
also leider habe ich mich nicht richtig ausgedrückt, man kann schon bei den Excelsheet mit den Makros bleiben. Nur eben zu definierten Zeitpunkten über Button oder autom. beim schließen des Sheets speichere ich die Daten in eine Datenbank oder eben in eine csv-Datei. Das letztere ist zwar nicht so das eleganteste, aber sehr zuverlässig. Ich habe einmal ein xla geschrieben das ich gern zur Verfügung stelle. Damit ist schon mal der Export möglich. Für den Import muss man natürlich etwas mehr Aufwand treiben. Denn man möchte meist spez. die Daten in verschiedene Tabellen und Zellen schreiben. Und natürlich soll nicht unerwähnt bleiben das der Export und Import recht flott geht.
https://www.herber.de/bbs/user/52185.xla
Gruß Armin

Anzeige
AW: eine echte Alternative
Werner
Hallo Arnim,
Vielen Dank für den Code!
Man kann sich mit einer solchen Routine (wie z.B. für ein einziges Worksheet beschrieben in Weber/Schwimmer, "Das Excel Handbuch", p. 1008) auch einen Code basteln, der alle Worksheets eines Workbook automatisch, jedes in eine eigene Textdatei, überträgt, z.B. so:

Sub Uebertragen()
Dim i As Integer
For i = 1 To Worksheets.Count
'Hier folgt der Code f. die Uebertragung. Der Name der jeweiligen Textdatei wird aus dem    _
'Worksheetnamen ermittelt, z.B. durch   "= Worksheets(i).Name"
Next i
End Sub


Allerdings sind diese Textdateien insgesamt viel voluminöser als die Ausgangsdatei. Werner

Anzeige
AW: eine echte Alternative
08.05.2008 07:40:00
Armin
Hallo Werner,
voluminöser als die Ausgangsdatei wird Sie nur wenn man das ganze Sheet ablegt, wer braucht das schon.
Wesentlich besser wenn man nur "echte Daten" speichert und den Rest muss ein Programmcode erledigen.
Natürlich ist das Programm dazu aufwendiger, aber zahlt sich dann auch aus.
Gruß Armin

AW: eine echte Alternative
Werner
Hallo Armin,
verstehe ich nicht ganz. Was bedeutet, das "ganze Sheet" ablegen? In dem von mir zitierten Code
(stammt aus dem genannten Buch, kann ich daher nicht einfach ins Forum stellen) werden die Zeilen und Spalten aus der Tabelle der Reihe nach ausgelesen und in eine Textdatei geschrieben.
Außer den Daten schreibt das genannte Programm nur noch die Überschriften in die Textdatei.
Aber es macht im Grunde, bei der Größe heutiger Festplatten, nicht viel aus. Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige