2007

2016-12-27 4 views
0

는이 같은 타이머 카운터가 : 일초에 의해2007

Dim SchedRecalc As Date 

Sub Recalc() 

With Sheet8.Range("A1")  
    .Value = Format(Time, "hh:mm:ss AM/PM")  
End With 

Call SetTime 

End Sub 


Sub SetTime() 

SchedRecalc = Now + TimeValue("00:00:01")  
Application.OnTime SchedRecalc, "Recalc" 

End Sub 


Sub Disable() 

On Error Resume Next 

Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Recalc", Schedule:=False 

End Sub 

타이머 단위를,하지만 난 그것을 밀리 초를 보여줄뿐만 아니라

답변

0

TimeValue() 좋아 함수는 초를 셀 수 있습니다. 보시다시피, 1 sek 대기를 위해 Application.OnTime 기능을 사용하고 있습니다. 커널 라이브러리에서 얻을 수있는 Sleep()으로도이를 수행 할 수 있습니다. 사용해보기 (Windows에서만 작동) :

Option Explicit 

#If VBA7 Then 
    Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 
#Else 
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 
#End If 

Sub test() 

    MsgBox "Wait 10 sek" 
    Sleep (10000) 
    MsgBox "Now wait 10 milisek" 
    Sleep (10) 
    MsgBox "Ok" 

End Sub