======[VBA] [Excel] sleep()====== Excel VBA kennt die Methode wait() um bis zu einer bestimmten Uhrzeit zu warten bevor der Code weiter verarbeitet wird. Doch meistens will man dies nicht an eine Uhrzeit knüpfen sondern ab jetzt X Sekunden warten. =====Lösung von Microsoft===== In der F1-Hilfe zu Excel VBA findet man auch 2 nicht wirklich elegante Lösungen Ich will euch diese nicht vorenthalten ' Aus der F1-Hilfe von Excel. 'This example pauses a running macro for approximately 10 seconds. newHour = Hour(Now()) newMinute = Minute(Now()) newSecond = Second(Now()) + 10 waitTime = TimeSerial(newHour, newMinute, newSecond) Application.Wait waitTime 'This example displays a message indicating whether 10 seconds have passed. If Application.Wait(Now + TimeValue("0:00:10")) Then MsgBox "Time expired" End If =====Meine Lösung===== '/** ' * Wartet mit der weiteren Ausführung des Codes für X Sekunden ' * @example Call sleep(10) ' * @param Sekunden ' * @return void ' */ Public Sub sleep(sec As Integer) Call Application.Wait(DateAdd("s", sec, Now())) End Sub Diese kann dann irgendwo im Code angewendet werden '10 Sekunden Pause machen Call sleep(10) {{tag>VBA MS_Excel}}