Registriert seit: 03.04.2022
Version(en): 2013
Hallo zusammen,
ich habe in Excel in Zelle A1 einen Countdown-Timer eingebaut und als Hilfe in A2 per VBA (beim Öffnen der Tabelle) einen Zeitstempel setzen lassen.
Wenn ich nun manuell an der Datei nichts ändere kommt natürlich trotzdem die Rückfrage beim schliessen ob gespeichert werden soll.
Da viele Kollegen auf die Datei zugreifen und diese manchmal manuell etwas ändern und manchmal nicht wäre es klasse die Rückfrage kommt nur dann wenn manuell eine Änderung vorgenommen wurde, also auf bestimmte Zellen beschränkt.
(ich kenne die Möglichkeit dass beim schliessen immer automatisch gespeichert werden soll oder dass die Frage nach dem Speichern nie kommen soll, beide Lösungen benötige ich nicht).
Kann mir einer von Euch helfen?
Danke und Grüße
Corbrameister
Registriert seit: 25.11.2021
Version(en): 2019, 365
03.04.2022, 14:43
(Dieser Beitrag wurde zuletzt bearbeitet: 03.04.2022, 14:43 von Ralf A.)
Hi,
deklariere in einem allg. Modul eine öffentliche, boolsche Variable (Bsp.: Public blnSpeichern as boolean). Im Change Ereignis des Blattes, checkst Du, ob das Target Teil der betreffenden Zellen ist (Stichwort Intersect).
Wenn ja, dann setze die Variable dann, wenn sie true ist, auf false, sonst auf true.
Im BeforeSave Ereignis schreibst Du in den Prozedurrumpf: Cancel = blnSpeichern
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
kontrolliere in dem Timer-Makro die Saved-Eigenschft des Workbooks vor den Zelleintragungen und führe sie danach genauso weiter:
Code:
Dim bolSaved As Boolean
bolSaved = ThisWorkbook.Saved
Range("A1") = "keine Ahnung"
Range("A2") = Now
ThisWorkbook.Saved = bolSaved
Gruß Uwe
Registriert seit: 03.04.2022
Version(en): 2013
03.04.2022, 17:03
(Dieser Beitrag wurde zuletzt bearbeitet: 03.04.2022, 17:04 von Cobrameister.)
Danke für Eure Antworten. Mein Fehler war dass ich vergessen habe mitzuteilen dass die Tabelle sich jede Sekunde aktualisiert damit der Countdown läuft. Habe eine ganz einfache VBA kopiert, bin VBA Anfänger. Bringt somit nichts wenn ich nach setzen des Zeitstempels speichere, sorry.
Hier ist mein Code:
Sub Datum()
Tabelle1.Range("A1").Value = Time
End Sub
Sub Countdown()
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "Countdown"
ActiveSheet.Calculate
End Sub
Bei Start der Datei werden diese beiden Sub automatisch gestartet.
Ich habe diese Anleitung etwas umgebaut.
https://www.hanseatic-business-school.co...countdown/ Kann mir jemand helfen dass bei dieser Kombination keine Speichern-Frage komt wenn ich manuell nichts ändere?
Danke!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
ungefähr so
Sub Datum()
Dim bolSaved As Boolean
bolSaved = ThisWorkbook.Saved
Tabelle1.Range("A1").Value = Time
Range("A2") = Now
ThisWorkbook.Saved = bolSavedEnd Sub
End Sub
Sub Countdown()
Dim bolSaved As Boolean
bolSaved = ThisWorkbook.Saved
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "Countdown"
ActiveSheet.Calculate
Range("A2") = Now
ThisWorkbook.Saved = bolSavedEnd Sub
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 03.04.2022
Version(en): 2013
Hi,
Danke für deine Hilfe, konnte es einbauen, hat funktioniert.
Leider öffnet sich die Tabelle immer noch nachdem sie automatisch geschlossen wird.
Egal, dann soll es nicht sein. Danke für Eure Mühe.
VG
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
(05.04.2022, 07:18)Cobrameister schrieb: Leider öffnet sich die Tabelle immer noch nachdem sie automatisch geschlossen wird.
Guckst Du:
Applicaton.OnTime - Zeitgesteuerte MakrosGruß Uwe