Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1540to1544
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
Inhaltsverzeichnis

VBA-AutoSpeichern nur wenn Speicherzeit >5 Mins

VBA-AutoSpeichern nur wenn Speicherzeit >5 Mins
13.02.2017 20:06:18
ElmarS
Hallo liebe Profis,
Ich arbeite sehr intensiv mit einer >100 MB Excel-Datei, die mir abstürzt, sobald ich etwas kopiere oder mit dem Pinsel Format übertrage - ich bemühe mich also nichts mehr zu kopieren.
Deswegen steht bei mir AutoWiederherstellen auf 2 Minuten und mit einem Makro, das ich hier irgendwo gefunden habe wird sie auf alle 5 Minuten AutoSpeichern eingestellt:
---------------
Option Explicit
Dim ZeitZuSpeichern As Date
Sub Speichern()
ThisWorkbook.Save
Call AutoSpeichernEinschalten
End Sub

Sub AutoSpeichernEinschalten()
ZeitZuSpeichern = Now + TimeSerial(0, 5, 0)  'hier Intervall einstellen (h, m, s)
Application.OnTime ZeitZuSpeichern, "Speichern"
End Sub

Sub AutoSpeichernAusschalten()
On Error Resume Next
Application.OnTime ZeitZuSpeichern, "Speichern", , False
End Sub

---------------
Manchmal, wenn was ganz wichtiges eingebaut wurde, speicher ich mit STRG+S.
Kann das Makro so umgeschrieben werden, dass die letzte Speicherzeit abgefragt wird, die höherwertig ist als der alle 5 Minuten Rhythmus?
Im

Sub Speichern
If letzte Speicherung - jetzt 

		

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-AutoSpeichern nur wenn Speicherzeit >5 Mins
13.02.2017 20:40:58
onur
Hi,
Schreibe das in Workbook_Open:
Public Sub Workbook_Open()
Start_Timer
End Sub
Und das in ein MODUL:
Public TimerActive As Boolean
Public Sub Start_Timer()
TimerActive = True
Application.OnTime Now() + TimeValue("00:05:00"), "Timer"
End Sub
Public Sub Timer()
If TimerActive Then
ActiveWorkbook.Save ' Speichern
Application.OnTime Now() + TimeValue("00:05:00"), "Timer"
End If
End Sub
Dann brauchst du den Rest nicht mehr.
Vielen Dank, das ist wunderbar!! owT
13.02.2017 21:13:29
ElmarS
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige