2014-11-03 167 views
-2

我必須編寫一個宏代碼來獲取給定時間作爲輸入格式(HH:MM:SS)。然後它應該在時間結束時在後臺運行時間,它應該將消息顯示爲「超時」。在給予一些輸入或時間之後,它從給定時間重新開始。好心建議在Excel中停止計時器vba

+0

這個地方的文章[如何顯示在Excel中正在運行的時鐘?](http://stackoverflow.com/questions/11867225/how-do-i-show-a-running-時鐘在excel)將是一個很好的開始。 – Jeeped 2014-11-03 04:10:28

回答

0
  1. 選擇一個細胞並將它命名爲rngElapseTime
  2. 格式的rngElapseTime小區的時間與類型爲HH:MM:SS
  3. 進入開發 - > ViewCode
  4. 複製並粘貼下面的代碼。

就是這樣。每當用戶更改rngElapseTime中的值時,下面代碼中的計時器重新啓動,並在TimeOver超時時提示用戶。

Private Sub Worksheet_Change(ByVal Target As Range)  
    If Target.Address = Range("rngElapseTime").Address Then   
    nextScheduledTime = Now + TimeValue(Format(Target.Value, "HH:MM:SS")) 
    Application.OnTime nextScheduledTime, "TimeOver"  
    End If    
End Sub 


Public Sub TimeOver()  
    MsgBox "Time Over", vbInformation    
End Sub