ich möchte in einem Makro eine zeitverzögerung von ca. 20 Sek. einbauen. Wie geht das?
ich möchte in einem Makro eine zeitverzögerung von ca. 20 Sek. einbauen. Wie geht das?
vielleicht hilft das ja schon weiter ;-)
Sub testpause()
Application.Wait Now + 5 / 86400
MsgBox ("Das Warten hat ein Ende")
End Sub
Dann wartet das Makro 5 Sekunden (86400 ist die Anzahl der Sekunden pro Tag).
Gruß
Thorsten
das hilft leider noch nicht. Gibt´s vielleicht noch ne andere Lösung?
also bei mir funktioniert das Makro einwandfrei.
Was läuft denn bei dir nicht?
Gruß Boris
das Problem ist, dass ich warten möchte, bis gewisse Berechnungen durchgeführt sind. Daraufhin möchte ich dann drucken.
Allerdings ist es bei mir trotz wait so, dass die Diagramme gedruckt werden, obwohl die Berechnung bzw. Aktualisierung noch nicht vollständig ist. Das führt zu einer fehlerhaften Druckausgabe.
Anscheinend werden auch einige der Berechnungen auf wait gestellt, obwohl diese Operationen ja im Hintergrund weiterlaufen sollten.
Gruß
Stefan
Gruß Boris
poste doch bitte die relevanten Teile des Codes (also wie die Berechnungen durchgeführt und der Druck angestoßen wird). Welche Operationen sollen wie im Hintergrund weiter laufen?
Gruß
Peter
im Prinzip handelt es sich hierbei nur um das kleine Wörtchen "calculate". Die automatische Neuberechnung habe ich abgestellt. Durch F9-Taste wird nun aktualisiert.
Da ich gestern freundlicherweise noch eine kleine Hilfe bekommen habe, hat sich das Problem wohl schon behoben, da es nun funktioniert.
Gruß,
Stefan
Sub Timer_Pause()
'In diesem Beispiel wird die Timer-Funktion verwendet, um die Anwendung kurzzeitig
'zu unterbrechen. In dem Beispiel wird außerdem DoEvents verwendet, um die Steuerung
'während der Pause an andere Prozesse abzugeben.
Dim Pausenlänge, Start, Ende, Gesamtdauer
'If (MsgBox("5 Sekunden Pause?", 4)) = vbYes Then
Pausenlänge = 10 ' Dauer in sekunden festlegen.
Start = Timer ' Anfangszeit setzen.
Do While Timer < Start + Pausenlänge
DoEvents ' Steuerung an andere Prozesse
' abgeben.
Calculate
Loop
Ende = Timer ' Ende festlegen.
'Gesamtdauer = Ende - Start ' Gesamtdauer berechnen.
'MsgBox "Die Pause dauerte " & Gesamtdauer & " Sekunden"
'Else
' End
'End If
End Sub