Postoje neke Timer kontrole koje možeš preuzeti i implementirati u VBA
http://www.enhanceddatasystems.com/ED/Pages/ExcelTimer.htm
Drugi način je korišćenje događaja OnTime koji Excel podržava. za odloženo startovanje procedure. Definiše se procedura koja startuje drugu proceduru - UpdateLbl posle 2 sekunde
Code:
Public Sub StartTimer()
RunWhen = Now + TimeValue("00:00:02") ' interval ažuriranja labele dve sek
Application.OnTime EarliestTime:=RunWhen, Procedure:="UpdateLbl", Schedule:=True
End Sub
U samoj proceduri UpdateLbl poziva se ova rutina, tako da se sama procedura izvršava svakih 2 sekunde
Code:
Sub UpdateLbl()
frmTime.Label1.Caption = Right(Format(Now - Start, "HH:MM:SS"), 5)
StartTimer
End Sub
Interesantno je da sam se namučio i nisam našao način da prikažem samo minute i sekunde komandom format. "mm:ss" kao i "MM:SS" prikazuje Mesece umesto minute na formi - a u dibageru radi ispravno. Zato na kraju one akrobacije sa RIGHT.
Prerađeno na osnovu
http://www.cpearson.com/excel/OnTime.aspx
Nije to loše Rembrante, samo što ne bi dodao još malo boje?