Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Sicherungskopie beim schließen der Mappe
#1
Hallo liebe Excel-Freunde,

Ich habe eine Excelmappe, mit der ich jeden Tag arbeite,
Diese möchte ich gerne, wenn ich diese nach getaner Arbeit schließe, nicht nur in dem Verzeichnis speichern, wo ich so hauptsächlich aufrufe, sondern zusätzlich in einem Sicherungsverzeichnis.

Falls etwas passiert beim arbeiten oder ähnliches, oder ich verändere an meiner Mappe ungewollt etwas, habe ich so die Möglichkeit die Kopie wieder ins eigentliche Verzeichnis zu packen.

Natürlich weiß ich wieder mal nicht, wie ich das hin bekommen soll, deswegen stelle ich hier die Frage.

Welche sinnvolle Lösung gibt es da für mich?

Ich hatte mir das so vorgestellt, das ich in meiner Mappe einen Button habe, auf diesem steht " Tagesabschluss"...oder so. Wink

Und beim klick darauf, ist die Mappe geschlossen, im Hauptverzeichnis gesichert und im Sicherungsverzeichnis.
Dateiname wie die Mappe, mit dem Zusatz des Speicherdatum?

Ist das so umsetzbar?

Ware super!

Grüße an alle

Mike
to top
#2
Hallo Mike,

folgender Code kommt in das schon vorhandene VBA-Modul "DieseArbeitsmappe":

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Me.SaveCopyAs "C:\Users\Uwe\Documents\Excel\Backups\" & Format(Now, "yyyymmdd_hhnn_") & Me.Name
End Sub

Den Pfad passt Du Deinen Gegebenheiten an. Die Sicherungskopie wird dann automatisch beim Schließen der Mappe erstellt.

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
Mike4711
to top
#3
Hallo Mike,

ich selber handhabe es so...
Code:
Sub BKCFA_schließen()
  Dim sPfad As String
  Dim iClick As Integer
  sPfad = "F:\MS-Excel\Entwicklung\Eigene\Dateien\Analyse\Vorlagen\Backup\" 'Pfad anpassen
  With ActiveWorkbook
     .Save
     iClick = MsgBox(prompt:="Möchten Sie eine Sicherungskopie anlegen?", Buttons:=vbYesNo)
     If iClick = vbYes Then
         .SaveCopyAs sPfad & Split(ThisWorkbook.Name, ".xlsm")(0) & "_" & Format(Date, "dd-mm-yyyy") & ".xlsm" 'Dateiendung anpassen
         If iClick = vbNo Then
           Exit Sub
        End If
     End If
  End With
  Application.Quit
End Sub

D.h. die Originaldatei wird dort gespeichert, von wo sie gestartet wurde. Anschließend wird eine Dateikopie in einem Ordner deiner Wahl abgelegt vorher must du in der Messagebox "ja oder nein" anklicken, deshalb steht im Code Pfad und Dateiendung anpassen. Und zum Schluss wird Excel geschlossen. Wenn du das nicht willst, enferne "Application.Quit".
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
[-] Folgende(r) 1 Benutzer sagt Danke an Bernie für diesen Beitrag:
Mike4711
to top
#4
Hallo Kuwer und Hallo Berni,

Sorry, das ich jetzt erst antworte. 

Ich danke euch für eure beiden vorschläge.
Ich werde sie beide nachher einmal ausprobieren und mich melden, ob ich es hin bekommen habe Wink

Grüße Mike
to top
#5
Hallo Bernie,

habe deinen Code einmal ausprobiert.
Abspeichern , macht er prima.

Aber nur in dem Verzeichnis, wo ich die Date auch aufgerufen habe.
Eine Sicherungskopie in dem Verzeichnis, das ich angepasst habe, macht er nichts.

sPfad = "C:\Users\Michael\Desktop\Sicherung\" 'Pfad anpassen


Grüße Mike
to top
#6
Hallo Uwe,

habe deinen Code auch gerade ausprobiert.

Den Pfad habe ich angepasst...der Code sieht nun so aus:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Me.SaveCopyAs "C:\Users\Michael\Desktop\Sicherung\" & Format(Now, "dd-mm-yyyy_") & Me.Name
End Sub
Habe das Datumsformat etwas geändert.
War mir erst nicht sicher, ob beim schließen, die Datei einmal gespeichert wird, von wo ich sie vorher aufgerufen habe. Aber wie es aussieht, klappt das so ganz gut.
Also, es wird dann auch eine Kopie mit Datum in einem Verzeichnis meiner Wahl zusätzlich gespeichert.
Ich würde sagen...super...genauso hab ich es mir vorgestellt.
Vielen Dank für deine Lösung.
Die Lösung von Bernie ist auch nicht schlecht, dort hat nur die Sicherungskopie in dem Extra-Verzeichnis nicht geklappt.
Grüße Mike
to top
#7
Hallo Uwe,

habe deinen Code in meine Mappe eingebaut und gestern Abend auch ausprobiert.
Klappte.....speichern ins Hauptverzeichnis und ins Sicherungsverzeichnis.
Doch heute hier am Arbeitsplatz habe ich es auch ausprobiert, da ich den Speicherpfad anpassen musst und es klappt nicht ganz so gut.

Ich habe die Mappe nach dem ersten Aufruf geschlossen...alles wurde gespeichert.
Danach habe ich die Mappe wieder geöffnet, bin auf schließen gegangen und es kam erst folgende Meldung:

   

beim scließen dieser Meldung, wurde ich trotzdem gefragt, ob speichern möchte oder nicht.
Bin auf speichern gegangen und habe anschließen in dem Sicherungsverzeichnis geschaut und es war nichts mehr da.
Die zuvor zuerst gespeicherte Datei war weg und Verzeichnis leer.
Im Hauptverzeichnis, dort wo ich die Datei aufrufe ist alles OK.

Grüße Mike
to top
#8
Hallo Mike,

vielleicht hättest Du doch erst einmal das Datumsformat so lassen sollen (mit Stunden und Minuten), damit sich die Dateinamen (zumindest bei einem zeitlichen Abstand größer eine Minute, sonst müsste man noch die Sekunden hinzufügen) unterscheiden.

Gruß Uwe
to top
#9
(08.03.2015, 21:05)Mike4711 schrieb: Aber nur in dem Verzeichnis, wo ich die Date auch aufgerufen habe.
Eine Sicherungskopie in dem Verzeichnis, das ich angepasst habe, macht er nichts.

sPfad = "C:\Users\Michael\Desktop\Sicherung\" 'Pfad anpassen

Hallo Mike,

also ich rufe bei mir eine Datei z.B. "xxxx.xlsm" aus dem Ordner "Analyse" meines Codes auf. Wenn ich diese Datei schließe, wird sie im selben Ordner abgespeichert und zwar ohne den Dateinamen zu ändern. Siehe hier:
Code:
With ActiveWorkbook
     .Save
Anschließend wird eine MsgBox gestartet mit der Abfrage ... Sicherungskopie - ja oder nein. Und jetzt kommt deine Pfadangabe ins Spiel und in dem Ordner wird eine Kopie der Startdatei mit Datum abgelegt. Siehe hier:
Code:
.SaveCopyAs sPfad & Split(ThisWorkbook.Name, ".xlsm")(0) & "_" & Format(Date, "dd-mm-yyyy") & ".xlsm" 'Dateiendung anpassen

Dann sieht die Datei so aus: Name_09-03-2015.xlsm

Das war nochmal der ungefähre Ablauf des Makros. Wenn es jetzt bei dir nicht funktioniert, dann kann ich mir denken, dass du eine andere Dateiendung als "xlsm" hast und die in meinem Code nicht angepasst hast.

Nachtrag: hatte vergessen zu erwähnen, dass ich die Datei über einen Button schließe, ansonsten die erste Codezeile anpassen.
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top
#10
Hallo Uwe,

Ok...du hattest Recht.....hätte dein Datumsformat so belassen sollen. Smile

Kann ich das Format:

(Now, "yyyymmdd_hhnn_")  sieht dann so aus      20150309_1616

auch so im Code angeben:

(Now, "yyyy-mm-dd_hh:nn_")   damit es hinterher so aussieht?  2015-03-09_16:16

Grüße Mike
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Code wird bei geschützter Mappe falsch ausgeführt briansen93 1 25 21.11.2016, 18:21
Letzter Beitrag: Gast 123
  VBA: Wenn Datei offen dann schließen mit Speicherabfrage Kash 1 60 15.11.2016, 23:24
Letzter Beitrag: AlterDresdner
  Eine Datei schließen, eine andere Öffnen GustavoWoltmann 1 121 14.09.2016, 14:20
Letzter Beitrag: schauan
  Unterstützung bei meinem Projekt Einkauf/Rezept Mappe mpeterjena 8 318 13.08.2016, 04:52
Letzter Beitrag: schauan
  Filter von Daten und Kopie auf andere Mappe 2Maik2 2 200 12.08.2016, 16:12
Letzter Beitrag: schauan
  Arbeitsmappe schützen beim Schließen Hanna 7 412 03.08.2016, 14:27
Letzter Beitrag: Hanna
  Daten aus geschlossener Mappe öffnet Mappe schauan 1 158 29.07.2016, 11:25
Letzter Beitrag: schauan
  UserForm nach inaktivität schließen sandormiles 2 301 15.07.2016, 22:08
Letzter Beitrag: sandormiles
  Excel Datei mit UserForm schließen jovicic 11 621 21.06.2016, 13:48
Letzter Beitrag: chris-ka
  In Formel auf Zelle mit Namen einer Mappe zugreifen Kian37 3 408 09.06.2016, 06:26
Letzter Beitrag: BoskoBiati

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste