Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wenn letzteEingabe länger her als 3 Min., dann...

Wenn letzteEingabe länger her als 3 Min., dann...
15.08.2006 13:22:56
stefanseevetal
Hallo!
Ich möchte es bei meiner Excel-Arbeitsmappe so machen, dass ein Makro ausgeführt wird, wenn eine bestimmte Zeit lang nichts mehr gemacht wurde (keine Eingaben mehr getätigt wurden). Ich habe mich über die OnTime-Application schon schlau gemahct, aber ich weiß leider immer noch nicht, wie ich es hinbekommen kann, dass das Makro z.B. 3 Minuten nachdem die letzte Eingabe erfolgt ist, ausgeführt wird.
Gibt es da vielleicht irgendeine Anweisung bzw. eien befehl, der das abfragen kann:
So in der Art:
If letzteEingabe länger her als 3 Minuten Then...
Vielleicht kann mir jemand weiterhelfen?! Würde mich freuen,
Danke und Gruß,
Stefan

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn letzteEingabe länger her als 3 Min., dann...
15.08.2006 13:30:42
Klaus
Hallo Stefan,
lass die Tabelle speichern/schließen wenn 3 Minuten keine Eingabe gemacht wurde, aber
setzt bei jeder Eingabe (Worksheet-Change Ereigniss) den Timer wieder auf null.
Frage noch offen, weil ich nicht sicher bin ob das so auch funktioniert :)
Gruß,
Klaus M.vdT.
AW: Wenn letzteEingabe länger her als 3 Min., dann
15.08.2006 13:33:41
Josef
Hallo Stefan!
Ein Ansatz.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
StartTimer
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
StopTimer
End Sub


Private Sub Workbook_Deactivate()
StopTimer
End Sub


Private Sub Workbook_Open()
StartTimer
End Sub


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
LastEventTime = Now
End Sub


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
LastEventTime = Now
End Sub


' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public RunWhen As Double
Public LastEventTime As Double
Public Const cRunIntervalSeconds = 180 ' Intervall in Sekunden
Public Const cRunWhat = "The_Sub"

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
  schedule:=True
End Sub


Sub The_Sub()

If LastEventTime < Now - TimeSerial(0, 0, cRunIntervalSeconds) Then
  MsgBox "HEY!" & Space(100) & vbLf & vbLf & "Nicht pennen, arbeiten!", 48, "Hinweis"
End If

StartTimer

End Sub


Sub StopTimer()
On Error Resume Next
Application.OnTime earliesttime:=RunWhen, _
  procedure:=cRunWhat, schedule:=False
End Sub


Gruß Sepp

Anzeige
Super, Danke
15.08.2006 13:56:42
stefanseevetal
Moin Ihr beiden!
Vielen Dank für Eure Unterstützung. So sollte ich das hinbekommen!
Gruß,
stefanseevetal

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige