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

Ereignis nach 3 min. ohne Mausbewegung

Ereignis nach 3 min. ohne Mausbewegung
03.02.2015 11:04:34
R.Kunze
Hallo zusammen,
ich möchte das ein beliebiges Ereignis 3 Minuten nach der letzten Mausbewegung stattfindet.
Hierzu habe ich mich bereits ein wenig mit Application.On time schlau gemacht.
Aber wie schreibe ich die letzte Mausbewegung als Kriterium?.
Danke für Eure Hilfe im voraus.
Grüße R.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ereignis nach 3 min. ohne Mausbewegung
03.02.2015 12:06:59
Daniel
Hi
eine Mausbewegung löst in Excel keine Reaktion aus.
du könntest das letzte Verschieben des Cursors verwenden.
dies wäre folgendes Makro im Modul "DieseArbeitsmappe".
Es wir immer gestartet, wenn du eine oder mehrere Zellen auswählst in allen Blättern der Datei.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Gruß Daniel

AW: Ereignis nach 3 min. ohne Mausbewegung
03.02.2015 16:52:08
R.Kunze
Hallo,
ich habe eine Userform die beendet werden soll wenn keine Commandbuttons gedrückt werden oder sonst wo in der USerform geklickt wird. Und mit apprlication on time geht es auch nicht so wie ich es mir vorgestellt habe. Vorschläge?

Anzeige
AW: Ereignis nach 3 min. ohne Mausbewegung
03.02.2015 17:27:06
Daniel
Hi
naja, warum kommt jetzt plötzlich die Userform ins spiel?
noch mehr Geheimnisse?
jedes Userform-Steuerelement und die Userform selbst hat ein Klick-Event, mit welchem du den OnTime-Aufruf des Schließmakros nach hinten verschieben kannst.
wenn du einen OnTime-Aufruf nach hinten verschieben willst, dann musst du ihn erst zurücknehmen mit:
Application.OnTime StartZeit, Makroname Schedule:=False
hierbei musst du genau die Startzeit verwenden, die du beim Starten verwendet hast.
Das heißt du musst dir die Startzeit in einer Modulweit gültigen Variable merken, damit du sie wieder verwenden kannst.
der Code sieht dann in etwa so aus:
Option Explicit
Public StartZeit as Date
in den Klick-Events:
'--- letzten Startaufruf zurücknehmen
if Now 
Ebenso musst du darauf achten, dass du den Aufruf zurücknimmst, wenn der Anwender die Userform selbstständig schließt (im Terminate-Event).
Solange Excel offen ist, führt es aktive OnTime-Aufrufe zur angegebenen Startzeit aus und öffnet dafür ggf sogar die Datei, falls diese geschlossen sein sollte.
Gruß Daniel

Anzeige
AW: Ereignis nach 3 min. ohne Mausbewegung
03.02.2015 18:02:21
R.Kunze
Hallo Daniel,
erstmal danke für die Antwort. Das Ganze ist noch um einiges komplizierter aber die Grundproblematik hatte ich glaube ich ganz gut dargestellt und dachte das ich workbook auf userform einfach abstrahieren kann.
aber leider funktioniert es noch nicht so. wenn ich anstatt makro ein msgbox einbaue und dann den button drücken kommt die msgbox sofort.
Gruß R.

AW: Ereignis nach 3 min. ohne Mausbewegung
03.02.2015 18:32:53
Daniel
Hi
du überforderst mein Abstraktionsvermögen.
du kannst nicht "anstatt Makro eine Msgbox" einbauen, weil eine Msgbox immer bestandteil eines Makros ist. Eine Msgbox alleine ohne Makro funtkioniert nicht.
Sorry, das was du da schreibst blick ich nicht.
Auch deine Annahme, dass Userform und Worksheet irgendwie funktionsgleich sein und man Lösungen vom einen aufs andere übertragen kann, ist meiner Ansicht nach falsch.
Gruß Daniel

Anzeige
AW: Ereignis nach 3 min. ohne Mausbewegung
04.02.2015 10:01:06
R.Kunze
Hi Daniel,
das Worksheet und Userform unterschiedlich sind ist mir ja bekannt. und das was ich mit der msgbox gemacht habe ist ja nur als ereignis anstatt des makros gesetzt.
alt If Now neu If Now aber auch wenn ich eine makroname
Private Sub TEST()
MsgBox ("TEST")
End Sub
einsetzte funktioniert die ausgabe der msgboy nicht.

AW: Ereignis nach 3 min. ohne Mausbewegung
05.02.2015 08:10:52
daniel
Hi
Dein neue Version ist ganz falsch, weil du im Ontime direkt keine Befehle ausführen kannst. an dieser Stelle muss der Makroname als Textstring stehen.
Mit dem Zusatz Schedule:=false stoppst du nur einen bestehenden zukünftigen Aufruf.
Du du musst dann nochmal das Makro mit OnTime zu einem späteren Zeitpunkt starten.
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige