Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

Forumthread: 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
Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige