Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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

Ausführung zeitgesteuerter Makros verhindern

Ausführung zeitgesteuerter Makros verhindern
29.01.2020 11:11:17
Christian
Moin allerseits,
als EXCEL-Autodidakt habe ich mehrere Dateien erstellt, die per Makro (update) in einem bestimmte Zeitintervall die Verknüpfung zu einer auf dem Firmenserver liegenden Datei aktualisieren.

Workbooks("Allround.xls").UpdateLink Name:="S:\Gemeinsame Dateien\DB.xlsm", Type:=xlExcelLinks

Dann wird der Zeitpunkt für die nächste Makroausführung festgelegt:

nextupd = Workbooks("A.xls").Worksheets("B").Cells(1, 3).Value + TimeValue("00:05:10")

und dieser Makro wird zum nächsten Termin wieder aufgerufen

Application.OnTime TimeValue(nextupd), "update"

Das funktioniert alles ganz prima.
Besonderheit bei dieser Datei ist, dass sie beim Schließen nicht gespeichert werden soll.

ThisWorkbook.Close SaveChanges:=False

Wenn ich jetzt aber diese Datei schließe, wird der Makro zum Termin nextupd wieder ausgeführt, wobei sich die Datei wieder öffnet.
Hat jemand eine Idee, wie man das verhindern kann. Am liebsten wäre mir ein Code unter
Private Sub Workbook_BeforeClose

Jetzt schon vielen Dank fürs Gedankenmachen
Gruß
Christian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausführung zeitgesteuerter Makros verhindern
29.01.2020 12:01:49
Christian
Hallo Chris,
wenn ich das so eingebe:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime , "Update", , schedule:=False
ThisWorkbook.Close SaveChanges:=False
End Sub

kommt die Meldung "Argument nicht optional."
Mache ich da etwas falsch?
Anzeige
AW: Ausführung zeitgesteuerter Makros verhindern
29.01.2020 12:42:47
ChrisL
Hi Christian
Die Zeit musst du trotzdem angeben.
Application.OnTime TimeValue(nextupd), "Update", Schedule:=False
cu
Chris
AW: Ausführung zeitgesteuerter Makros verhindern
29.01.2020 12:47:58
ChrisL
und ersetze
ThisWorkbook.Close SaveChanges:=False
durch
ThisWorkbook.Saved = True
sonst bleibt die die Applikation u.U. offen, obwohl die Mappe geschlossen wurde.
AW: Ausführung zeitgesteuerter Makros verhindern
29.01.2020 12:52:46
Christian
Vielen dank für Deine Hilfe. Das hat sich jetzt gerade überschnitten.
Und wieder etwas gelernt.
Gruß
Christian
Gelöst
29.01.2020 12:48:18
Christian
So funktioniert es:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime nextupd, "Update", , False
ThisWorkbook.Close SaveChanges:=False
End Sub
der EarliestTime-Wert (hier in der Variable nextupd) muss angegeben werden.
Danke!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige