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

Ablauf nach je 1 min

Ablauf nach je 1 min
28.03.2022 17:51:49
Ronald
Hallo an alle
Ich möchte gerne nach Ablauf von 1 min einen Codeabschnitt ausführen lassen. Und zwar immer wieder nach 1 min. Bis Stop gedrückt wird.
Ich bin ziemlich sicher, daß es da irgendeine simple Lösung gibt, wenn man sie denn kennt. Ich kenne sie leider nicht. Daher wäre ich froh,
wenn mir dabei jemand helfen könnte.
Danke im Voraus.
Gruß Ronald

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

Betreff
Datum
Anwender
Anzeige
AW: Ablauf nach je 1 min
28.03.2022 18:01:02
UweD
Hallo
so?
in ein Normales Modul

Dim NextInst As Date
Sub StartAutoMachWas()
AutoMachWas
End Sub
Sub AutoMachWas()
' hier dein Code
MsgBox "Es ist jetzt : " & Now
' Ende dein Code
NextInst = Now + TimeValue("00:01:00")
Application.OnTime NextInst, "AutoMachWas"
End Sub
Sub StopAutoMachWas()
Application.OnTime NextInst, "AutoMachwas", , False
End Sub
Start und Stop kannst du Buttons zuweisen.
LG UweD
AW: Ablauf nach je 1 min
30.03.2022 16:10:28
Ronald
Vielen Dank Für den Vorschlag. Ich bin gerade am Ausprobieren.
Jedoch soll bei mir die bisherige Dauer noch im Minutentakt hochzählen.

Option Explicit
Dim strStartZeit As String
Dim strStopZeit As String
Dim dteStartZeit As Date
Dim dteAktuelleZeit As Date
Dim dteStopZeit As Date
Dim dteResultat As Date
Dim strOptZeit As String
Dim NextInst As Date
Private Sub StartLogging()
cmdStop.BackColor = &HC0C0FF  'hellrot
cmdStop.Enabled = True
cmdStart.BackColor = &H8000000F 'grau
cmdStart.Enabled = False
strStartZeit = CStr(Format(Time, "hh:mm"))
dteStartZeit = Format(Time, "hh:mm")
labZeit.Caption = "Läuft seit: " & Format(Time, "hh:mm")
Call LogginZeitBerechnen
End Sub
Private Sub LogginZeitBerechnen()
dteAktuelleZeit = Format(Time, "hh:mm")
strStopZeit = CStr(Format(Time, "hh:mm"))
dteStopZeit = Format(Time, "hh:mm")
dteResultat = dteStopZeit - dteStartZeit
labZeit.Caption = CStr(dteStartZeit) & " - " & Format(Time, "hh:mm") & " Uhr - bisherige Dauer: " & dteAktuelleZeit - dteStartZeit
NextInst = Now + TimeValue("00:01:00")
Application.OnTime NextInst, "LogginZeitBerechnen"
End Sub
Private Sub StopLogging()
cmdStart.BackColor = &HC0FFC0  'hellgrün
cmdStart.Enabled = True
cmdStop.BackColor = &H8000000F 'grau
cmdStop.Enabled = False
strStopZeit = CStr(Format(Time, "hh:mm"))
dteStopZeit = Format(Time, "hh:mm")
dteResultat = dteStopZeit - dteStartZeit
labZeit.Caption = CStr(dteStartZeit) & " - " & Format(Time, "hh:mm") & " Uhr - benötigte Dauer: " & CStr(dteResultat)
Application.OnTime NextInst, "LogginZeitBerechnen", , False
End Sub
Beim Ausführen zeigt er als bisherige Dauer 0 an, was ja primär nicht falsch ist. Es ist ja noch keine Minute vergangen, sodaß keine brauchbare Rechnung erfolgen kann. Nach einer Minute blinkt das minimierte Excel in der Taskleiste orange.
Es kommt als erste Meldung "Das Makro blabla bla kann nicht ausgeführt werden. Das Makro ist in dieser Arbeitsmappe nicht verfügbare oder alle Makros wurden deaktiviert". Wenn ich diese Meldung per OK bestätige, ist die Meldung weg. Mehr passiert nicht. Wenn ich dann das Ganze per Stop-Button beende (Private Sub StopLogging() wird ausgeführt), dann kommt als zweites die Meldung "Laufzeitfehler 1004 - Die Methode "OnTime" für das Objekt "_Application" ist fehlgeschlagen". Wenn ich dies debugge, komme ich auf
Application.OnTime NextInst, "LogginZeitBerechnen", , False
Eins weiß ich. Irgendetwas ist mit dem Timer-Code-Snippet nicht gut. Am Makro selber liegt es nicht. Damit meine ich, daß keine Makros deaktiviert etc. wurden. Kann ich mir beim besten Willen nicht vorstellen.
Auf jeden Fall wäre ich froh, wenn jemand eine Idee hätte, wie ich das hier lösen kann. Eventuell eine andere Timer-Prozedur.
Danke im Voraus.
Gruß Ronald
Anzeige
Intervall-Makro
03.04.2022 19:02:59
Peter
Hallo Roland,
hier mein Lösungsvorschlag.
https://www.herber.de/bbs/user/152209.xlsm
Im Makro 1 steht in Deiner Anwendung anstelle meines Beispieles Dein Makro. Einige Befehle sind aber obligatorisch, ebenso das Kennzeichen in der Zelle "A1".
Bitte mal ausprobieren, Rückmeldung wäre schön.
Mit freundlichem Gruß
Peter Kloßek

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige