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

application.ontime x mal ausführen

application.ontime x mal ausführen
08.04.2015 17:46:40
Andreas

Hallo,
ich hatte folgendes versucht und keine Lösung gefunden.
Also ich möchte eigentlich ein Makro 159 mal ausführen und zwar soll es alle 30 Sekunden starten.


Sub CommandButton3_Click()
Application.OnTime Now + TimeValue("00:00:30"), "CommandButton3_Click
End Sub

Ich denke so wird es alle 30 Sekunden ausgeführt
und:

Sub Makro_Schleife_159()
dim i as long
For i = 1 to 159
Call CommandButton3_Click
Next
End Sub

Ich weiß das es SOOO nicht funktionieren wird wollte fragen wie ich die beiden Sub's in eins bekomme oder muss ich da komplett anders dran gehen?
MfG Andreas

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

Betreff
Datum
Anwender
Anzeige
AW: application.ontime x mal ausführen
08.04.2015 17:57:31
Hajo_Zi
Hallo Andreas,
Du brauchst nur das erste Makro. Baue noch einen Zähler ein.

AW: application.ontime x mal ausführen
08.04.2015 18:11:57
Andreas
und wie mache ich das?

AW: application.ontime x mal ausführen
08.04.2015 18:14:50
Hajo_Zi

InZaehler=Zaehler+1
If Zaehler<30 Then
' onTim
End if


AW: application.ontime x mal ausführen
08.04.2015 18:13:25
Daniel
Hi
wenn das aufgerufene Makro sich nicht selbst aufruft, sondern nur ein einfaches Ausführungsmakro ist, dann kannst du die Startaufrufe auch in einer Schleife absetzen:
For i = 1 to 159
Application.Ontime Now + TimeSerial(0, 0, i * 30), "MakroName"
Next
teste aber erstmal mit geringerer Anzahl
um das zu stoppen müsstest du dann auch ggf alle 159 Aufrufe zurücknehmen.
wie gesagt, das aufgerufene Makro darf hier sich nicht selbst aufrufen, weil du selber die 159 Startaufrufe vorgibst.
Gruß Daniel

Anzeige
AW: application.ontime x mal ausführen
08.04.2015 18:34:25
Markus Schmid
Hallo Andreas
Wenn du folgende Prozedur in ein Standardmodul einfügst, so kannst du den gewünschten Effekt durch einmaligen Aufruf dieser Prozedur erzeugen:
Sub Makro_Schleife_15()
Static i As Integer
' 15 x in 1 Sekundenabstand ausführen
If i < 15 Then
i = i + 1
Application.OnTime Now + TimeValue("00:00:01"), "Makro_Schleife_15"
Debug.Print i, Time
Else
i = 0
Debug.Print "Fertig"
End If
End Sub
Gruss Markus

AW: application.ontime x mal ausführen
08.04.2015 18:41:39
Andreas
Ja das sieht gut aus so kann ich die Anzahl gut verändern..Danke Markus
Aber ich hab noch ein Problem: und zwar wird das makro immer nur einmal ausgeführt....

Anzeige
AW: application.ontime x mal ausführen
08.04.2015 20:23:06
Markus Schmid
Hallo Andreas
Das mit dem nur einmal ausgeführt verstehe ich nicht.
Kannst du das genauer erklären?
Mein Makro kannst du nach Ablauf aller Wiederholungen jederzeit erneut aufrufen. Es beginnt dann wieder mit i = 0. Wenn es während der vorgegebenen Anzahl Abläufe aufgerufen wird, so erhälst du zusätzliche Ablesungen, d.h., der Intervall wird verkürzt.
Dies liese sich verhindern, wenn du eine globale Boolean-Variable SchleifeAktiviert hast, die du in der aufrufenden Prozedur (z.B. Button1_Click) auf True setzt, und am Schluss beim Rücksetzen des Schleifenzählers i auch wieder auf False zurückstellst.
Das sieht dann so aus:
Option Explicit
Private Sub CommandButton1_Click()
' nur Starten, wenn noch nicht gestartet
If SchleifeAktiviert = False Then
SchleifeAktiviert = True
Debug.Print "Gestartet"
Makro_Schleife_15
End If
End Sub

Option Explicit
Public SchleifeAktiviert As Boolean
Sub Makro_Schleife_15()
Static i As Integer
' 15 x in 1 Sekundenabstand ausführen
If i < 15 Then
i = i + 1
Application.OnTime Now + TimeValue("00:00:01"), "Makro_Schleife_15"
Debug.Print i, Time
Else
i = 0
SchleifeAktiviert = False
Debug.Print "Fertig"
End If
End Sub
Gruss Markus

Anzeige

54 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige