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

Schleife zu Beginn auf 0 setzen

Schleife zu Beginn auf 0 setzen
21.03.2009 14:02:56
MBorn
Hallo miteinander,
wieder einmal möchte ich Euch um Hilfe bitten. Bei folgender Bastelei:
Es gibt zwei Prozeduren, die gegenseitig aufgerufen werde. Die erste ist eine Timerprodzedur:

Sub StartTimer()
mytimer = Now + TimeSerial(0, 0, 5)
Application.OnTime mytimer, "myProcedure"
End Sub



Sub myProcedure()
Cells(1, 1) = Cells(1, 1) + 1
Call StartTimer
End Sub


Wie kann ich cells(1,1) zu Beginn auf cells(1,1)=0 setzen?
Gruß und Dank,
Born

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

Betreff
Datum
Anwender
Anzeige
AW: Schleife zu Beginn auf 0 setzen
21.03.2009 14:08:41
ransi
Hallo
Ähm... meinst du so:

Sub StartTimer()
Cells(1, 1) = 0
mytimer = Now + TimeSerial(0, 0, 5)
Application.OnTime mytimer, "myProcedure"
End Sub
Sub myProcedure()
Cells(1, 1) = Cells(1, 1) + 1
Call StartTimer
End Sub


ransi

AW: Schleife zu Beginn auf 0 setzen
21.03.2009 14:09:14
Tino
Hallo,
von irgendwo wird StartTimer zum ersten mal aufgerufen und
dort schreibst Du vor dem Aufruf cells(1,1)=0
Gruß Tino
AW: Schleife zu Beginn auf 0 setzen
21.03.2009 14:38:56
MBorn
Hallo Tino,
siehst Du das ist das Problem:
Starttimer wird von myProcedure aufgerufen und myProcedure von StartTimer.
Deswegen würde cells(1,1) bei jedem Druchlauf auf 0 gesetzt und das soll
nur beim ersten Mal passieren.
Gruß und Dank,
Born
Anzeige
AW: Schleife zu Beginn auf 0 setzen
21.03.2009 14:42:56
ransi
HAllo Tino meint das so:


Sub Oberstarter()
    Cells(1, 1) = 0
    Call StartTimer
End Sub

Sub StartTimer()
    mytimer = Now + TimeSerial(0, 0, 5)
    Application.OnTime mytimer, "myProcedure"
End Sub


Sub myProcedure()
    Cells(1, 1) = Cells(1, 1) + 1
    Call StartTimer
End Sub

ransi
Anzeige
genau so oT.
21.03.2009 14:47:35
Tino
AW: genau so oT.
21.03.2009 15:06:59
MBorn
Yepp, ich danke Euch beiden. Das funktioniert sooooo.
Ein kleines Bedenken: Die Oberprozedur bleibt ja offen, solange die beiden Schleifenprozeduren
arbeiten. Kann es denn sein dass da im Laufe der Zeit so etwas wie ein Buffer-Überlauf passiert?
Gruß und Dank,
Born
bleibt nicht offen
21.03.2009 15:17:06
Tino
Hallo,
normalerweise sollte nach dem ersten aufruf die Oberprozedur auch beendet werden,
weil nach dem Aufruf von StartTimer erst mal für 5 Sekunden Funkstille ist und der Code zu Oberstarter zurückläuft.
Ein kleiner Test soll dies beweisen.

Sub Oberstarter()
Cells(1, 1) = 0
Call StartTimer
Stop 'hier ist der kleine Test eingebaut.
End Sub
Sub StartTimer()
mytimer = Now + TimeSerial(0, 0, 5)
Application.OnTime mytimer, "myProcedure"
End Sub
Sub myProcedure()
Cells(1, 1) = Cells(1, 1) + 1
Call StartTimer
End Sub


Gruß Tino

Anzeige

141 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige