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

Makro lässt sich nicht abstellen

Makro lässt sich nicht abstellen
tco99

Hallo zusammen,
ich habe mal wieder ein Problem.
Ich starte ein Makro, welches nach Zeitvorgabe weitere Makros startet. Den Start führe ich mit einer Schaltfläche aus. Mit einer weiteren Schaltfläche möchte ich den gesamten Prozess stoppen bzw. beenden. Das gelingt mir aber nicht. Der Prozess läuft einfach weiter.
Erkennt jemand einen Fehler?
Dank und Gruß
Erdogan
PS: Feedback ist selbstverständlich.
-----------------------------------------------------------------------------------------
Alles in einem allgemeinen Modul:
Option Explicit
Hier deklariere ich
------------------------------------------------------------------------------------
Dim iTimerSet5 As Double
Dim iTimerSet4 As Double
Dim iTimerSet3 As Double
Dim iTimerSet2 As Double
Dim iTimerSet1 As Double
Dim iTimerSet0 As Double
Hier starte ich das erste Makro, welches weitere Makros startet
------------------------------------------------------------------------------------
Sub SanduhrStart()
'Grundposition
Uebersicht.Label5Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = False
'Zeiten setzen
iTimerSet5 = Now + TimeValue("00:00:01")
iTimerSet4 = Now + TimeValue("00:00:03")
iTimerSet3 = Now + TimeValue("00:00:07")
iTimerSet2 = Now + TimeValue("00:00:10")
iTimerSet1 = Now + TimeValue("00:00:13")
iTimerSet0 = Now + TimeValue("00:00:15")
'Zeit läuft
Application.OnTime iTimerSet5, "Noch5Minuten"
Application.OnTime iTimerSet4, "Noch4Minuten"
Application.OnTime iTimerSet3, "Noch3Minuten"
Application.OnTime iTimerSet2, "Noch2Minuten"
Application.OnTime iTimerSet1, "Noch1Minuten"
Application.OnTime iTimerSet0, "Noch0Minuten"
Uebersicht.Label5Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = False
Call SanduhrEnde
End Sub

Hier sind die Teilmakros, die nacheinander gestartet werden
------------------------------------------------------------------------------------
Sub Noch5Minuten()
Uebersicht.Label5Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = False
Uebersicht.Label5Minuten.Visible = True
End Sub

Sub Noch4Minuten()
Uebersicht.Label5Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = True
End Sub

Sub Noch3Minuten()
Uebersicht.Label5Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = True
End Sub

Sub Noch2Minuten()
Uebersicht.Label5Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = True
End Sub

Sub Noch1Minuten()
Uebersicht.Label5Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = True
End Sub

Sub Noch0Minuten()
Uebersicht.Label5Minuten.Visible = False
Uebersicht.Label4Minuten.Visible = False
Uebersicht.Label3Minuten.Visible = False
Uebersicht.Label2Minuten.Visible = False
Uebersicht.Label1Minuten.Visible = False
End Sub

Dieses Makro soll den Prozess zu beliebiger Zeit stoppen bzw. beenden
------------------------------------------------------------------------------------
Sub SanduhrEnde()
On Error Resume Next
Application.OnTime Now + TimeValue("00:00:00"), Procedure:="Noch5Minuten", Schedule:=False
Application.OnTime Now + TimeValue("00:00:00"), Procedure:="Noch4Minuten", Schedule:=False
Application.OnTime Now + TimeValue("00:00:00"), Procedure:="Noch3Minuten", Schedule:=False
Application.OnTime Now + TimeValue("00:00:00"), Procedure:="Noch2Minuten", Schedule:=False
Application.OnTime Now + TimeValue("00:00:00"), Procedure:="Noch1Minuten", Schedule:=False
Call Noch0Minuten
End Sub

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

Betreff
Benutzer
Anzeige
TIMER zum STOPPEN exakt angeben !
27.09.2010 13:46:22
NoNet
Hallo Erdogan,
zu Beginn berechnest Du eine exakte Zeit, zu der die Makros ausgeführt werden sollen :
'Zeiten setzen
iTimerSet5 = Now + TimeValue("00:00:01")
iTimerSet4 = Now + TimeValue("00:00:03")
iTimerSet3 = Now + TimeValue("00:00:07")
iTimerSet2 = Now + TimeValue("00:00:10")
iTimerSet1 = Now + TimeValue("00:00:13")
iTimerSet0 = Now + TimeValue("00:00:15")
Wenn Du dieses START-MAkro also z.B. exakt um 12:00:00 ausführst, dann werden in Excel 5 Timer gesetzt : 12:00:01 bis 12:00:15.
Um die Ausführung dieser Timer zu stoppen, musst Du auch EXAKT diese Uhrzeiten wieder angeben
Also anstatt
Application.OnTime Now + TimeValue("00:00:00"), Procedure:="Noch5Minuten", Schedule:=False
musst Du den Timer mit der exakten zuvor definierten Uhrzeit stoppen :
Application.OnTime iTimerSet5, Procedure:="Noch5Minuten", Schedule:=False

(für die anderen Makros das gleiche Prinzip !).
Gruß, NoNet
Aktuelle Infos und Anmeldung zum => Exceltreffen 2010 <= in Neubrandenburg (15.-17.10.2010) :
Treffen der Excel-Freunde und zahlreicher Helfer aus diversen Excel-Foren.
Auch DU kannst daran teilnehmen ... => Klicke hier <=

Anzeige
AW: TIMER zum STOPPEN exakt angeben !
27.09.2010 14:03:54
tco99
Hi NoNet,
erst mal vielen Dank für deine Hilfe.
Ich habe deine Korrektur umgesetzt aber es funktioniert nun ganz anders als gedacht. Nach der Korrektur lässt sich das Startmakro garnicht starten. Wenn ich den korrigierten Teil auskommentiere, funktioniert das Startmakro.
Ich lade eine Beispieldatei hoch. Kannst du bitte nochmal schauen?
https://www.herber.de/bbs/user/71676.xls
Dank und Gruß
Erdogan
AW: Makro lässt sich nicht abstellen
27.09.2010 13:48:22
xr8k2
Hallo tco,
du musst in dem stop-Makro statt
Now + TimeValue("00:00:00")
die Ausführungszeiten der initialisierten Timer angeben, ich schätze mal z.B. so:
Application.OnTime iTimerSet5, Procedure:="Noch5Minuten", Schedule:=False
Gruß,
xr8k2
Anzeige
AW: Makro lässt sich nicht abstellen
27.09.2010 14:18:34
tco99
Hi xr8k2,
danke für deine Antwort.
Ich habe den Hinweis bereits eingearbeitet aber jetzt hat sich ein anderes Problem ergeben. Bitte schau mal in die Antwort, die ich NoNet geschickt habe, sie beinhaltet eine Beispieldatei an der man ganz gut experimentieren könnte.
Danke
Erdogan
AW: Makro lässt sich nicht abstellen
27.09.2010 14:59:03
xr8k2
Hallo Erdogan,
kann es vielleicht sein, dass du am Ende deiner StartProzedur auch schon wieder die EndProzedur azfrufst ... da werden die Timer doch gleich nach dem Einrichten wieder gelöscht ^^
Gruß,
xr8k2
AW: Makro lässt sich nicht abstellen
27.09.2010 15:46:09
tco99
Hallo xr8k2,
STIMMT!
Und jetzt läuft es genauso, wie ich es mir gewünscht habe.
Ich danke dir und NoNet ganz herzlich!
Viele Grüße
Erdogan
Anzeige

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige