Der gesendete VBA Code wurde mit viel Schweiß eines unwissenden :-) (von mir) und vor allem mit großer Hilfe von Nepumuk und Hajo (..sagen wir mal ohne Sie, wäre ich noch am Anfang :-).
Doch nach Einbau bei ein paar Kollegen, wurde mit klar dass diese mit der vorgegeben Art der Speicherung durcheinander kommen. Fragt mich bitte nicht warum, die Kollegen machen die Eintragungen von zu Hause aus (kann zwar nicht nachvollziehen was da schwer sein kann, doch alle meinen dass sie damit durcheinander kommen) und ich sammle die wünsche bzw. die Arbeitsstunden und füge alles zusammen.
Alle Kollegen sind Laien in benutzen eines PC, bzw. Software. Wir wollen damit unter uns sehen wer und wie viel sich jeder im Monat und jeweiligen Projekten einbringt um die Arbeitszeit,Freizeit und Urlaub besser unter uns koordinieren können. Außerdem so weiß jeder wer auf der Arbeit sein wird...also ist mehr eine selbst Hilfe.
Lange Reden kurzer Sinn :-)
Ist es möglich auf Basis dieses VBA Codes, es so umzustellen das es jede 4 oder 6 Stunden automatisch im Hintergrund eine Backup Datei erstellt so wie jetzt?
anbei auch die Datei:
https://www.herber.de/bbs/user/134115.xlsm
Danke im Voraus :-)
Option Explicit
Private Const Pfad As String = "\\WDMYCLOUD\Team\0 Niko\PLANER\Planer 2020\Backup\"
Private Const Dname As String = "Backup"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Prüft vor dem Schließen dieser Mappe ob Änderungen vorliegen/gespeichert wurde
'Liegen Änderungen vor bzw. wurde noch nicht gespeichert, kann gewählt werden ob
'diese Mappe gespeichert wird - ja speichert Mappe + Sicherheitskopie, nein speichert
'weder diese Mappe noch Sicherheitskopie
'Wurde Mappe vor dem Schließen nicht verändert bzw. bereits gespeichert, dann wird keine
'Sicherheitskopie erstellt und Mappe einfach geschlossen.
Dim Info As VbMsgBoxResult
If Not ReadOnly Then
If Not Saved Then
'Mappe wurde geändert aber NICHT gespeichert
'Abfrage ob die Original-Mappe überhaupt gespeichert werden soll
If MsgBox("Die Mappe wurde noch nicht gespeichert." & vbLf & _
"Soll diese Mappe gespeichert werden?", vbYesNo Or vbQuestion, _
"Schließen und Speichern?") = vbYes Then
'Wenn Mappe vor dem Schließen gespeichert wird,
'dann Sicherheitskopie
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
End With
Save
Sheets.Copy
With ActiveWorkbook
.SaveAs Filename:=Pfad & Dname & Format$(Now, "yyyy-mm-dd - hh-mm"), _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
.Close
End With
With Application
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
Else
'Wenn Mappe vor dem SChließen NICHT gespeichert wird,
'dann KEINE Sicherheitskopie
Saved = True
End If
'Mappe wurde NICHT geändert oder bereits gespeichert
'Dann KEINE Sicherheitskopie
End If
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Speichert eine Sicherheitskopie der Mappe (ohne Makros) bei jedem Speichern
'der Originalmappe, außer bei "Speichern unter..."
If Not ReadOnly And Not SaveAsUI Then
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
Sheets.Copy
With ActiveWorkbook
.SaveAs Filename:=Pfad & Dname & Format$(Now, "yyyy-mm-dd - hh-mm"), FileFormat:= _
xlOpenXMLWorkbookMacroEnabled
.Close
End With
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End If
End Sub