當前位置:成語大全網 - 英語詞典 - EXCEL的VB代碼編寫

EXCEL的VB代碼編寫

#001 Sub StartTimer()

#002 Sheet1.Cells(1, 2) = Sheet1.Cells(1, 2) + 1

#003 Application.OnTime Now + TimeValue("00:00:01"), "StartTimer"

#004 End Sub

代碼解析:

StartTimer過程,使用Application對象的OnTime方法循環調用StartTimer過程實現每隔壹秒鐘運行壹次StartTimer過程,從而在B1單元格中不斷地顯示程序累計運行時間第2行代碼將B1單元格的值在原有的數字上加1。

第3行代碼使用OnTime方法在1秒後重新調用StartTimer過程,使B1單元格的值不斷的加1,從而顯示程序累計運行時間。

應用於Application對象的OnTime方法能夠安排壹個過程在將來的特定時間運行,語法如下:

expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)

參數expression是必需的,返回壹個Application對象。

參數EarliestTime是必需的,設置指定的過程開始運行的時間。使用Now + TimeValue(time)可以安排從現在開始經過壹段時間之後運行某個過程,使用TimeValue(time)可以安排在指定的時間運行某個過程。

參數Procedure是必需的,設置要運行的過程名稱。

參數LatestTime是可選的,設置過程開始運行的最晚時間。例如將參數LatestTime設置為EarliestTime+10,當時間到了EarliestTime時如果Excel不處於空閑狀態,那麽Excel將等待10秒,如果在10秒內Excel不能回到空閑狀態,則不運行該過程。如果省略該參數,Excel將壹直等待到可以運行該過程為止。

參數Schedule是可選的,如果其值為True(默認值),則安排壹個新的OnTime過程,如果其值為False,則清除先前設置的過程。

取消定時的代碼如下:

#001 Sub EndTimer()

#002 On Error GoTo Line

#003 Application.OnTime Now + TimeValue("00:00:01"), "StartTimer", , False

#004 Sheet1.Cells(1, 2) = 0

#005 Exit Sub

#006 Line:

#007 MsgBox "請先按[開始]按鈕!"

#008 End Sub

代碼解析:

EndTimer過程取消StartTimer過程的定時。

第2行代碼錯誤處理語句,因為如果還沒有運行StartTimer過程而先運行EndTimer過程取消定時,程序會提示錯誤,因此使用On Error GoTo Line語句在錯誤發生時執行第7行代碼顯示壹個提示消息框。

第3行代碼將StartTimer過程的Schedule參數設置為False,取消定時設置。