excel2003利用vba制作倒計時器的教程
在Excel中錄入好數(shù)據(jù)以后可能經(jīng)常需要用到計時器這個功能,這個功能制作起來可能有點困難,如果有需要的朋友可以學(xué)習(xí)一下。下面是由學(xué)習(xí)啦小編分享的excel2003利用vba制作倒計時器的教程,供大家閱讀、學(xué)習(xí)。
excel2003利用vba制作倒計時器的教程:
制作計時器步驟1:在EXCEL窗口中按上圖的樣式做一個界面,設(shè)置你喜歡的字體大小與顏色邊框。由于是用VBA代碼制作計時部份,所以表格中不用輸入任何公式。
制作計時器步驟2:按ALT+F11組合鍵調(diào)出VBA窗口,按“插入-模塊”,出現(xiàn)一個空白的模塊窗口,把下面代碼粘貼進(jìn)去。
Dim n '公用變量,記住下一個任務(wù)執(zhí)行的時間
Dim a '開始時間
Dim b '結(jié)束時間
Sub 計時()
n = Now + TimeValue("00:00:01") '設(shè)定時間間隔為一秒
If Now() > b Then MsgBox "倒計時結(jié)束": Call 停止: Exit Sub
[c4] = Format(b - Now(), "h:mm:ss") '設(shè)置單元格格式
Application.OnTime n, "計時" '到指定時間后再執(zhí)行本過程
End Sub
Sub 開始()
[c2] = Format([c2], "h:mm:ss") '設(shè)置單元格格式
a = [c2] '設(shè)定時間
b = Now() + a '計算結(jié)束時間
[c3] = Format(b, "yyyy-m-d h:mm:ss") '設(shè)置單元格格式
Call 計時
End Sub
Sub 停止()
On Error Resume Next
Application.OnTime n, "計時", , False '停止任務(wù)的執(zhí)行
End Sub
這組代碼由四部份組成:
第一部份(最上面三行)是聲名公共變量,使這幾個變量在下面各過程中都可調(diào)用。
第二部份是“Sub 計時”,也是主代碼,它負(fù)責(zé)不停的計時并顯示剩余時間。
第三部份“Sub 開始”,相當(dāng)于初始化部份,設(shè)置單元格格式及顯示“計時結(jié)束時間”,在這個部份會調(diào)用“Sub 計時”過程來進(jìn)行倒計時。
第四部份“Sub 停止”,終止倒計時過程。
代碼中的關(guān)鍵部份是“sub 計時”,它使用onTime函數(shù)實現(xiàn)自動計時功能。
常用語法:
Application.OnTime 時間,要運行的過程名
在上例中,“Application.OnTime n, "計時"”的含義是到下一個時間“n”,就執(zhí)行一次名為“計時”(即 “sub 計時”自身)的代碼。
時間“n”由語句“ n = Now + TimeValue("00:00:01")”計算得出,表示由當(dāng)前時間(即“NOW”)加上一個1秒的時間值。
在“Sub 停止”過程中,也使用了OnTime函數(shù),但它多了一個參數(shù)False ,它的作用是到時間“n”后,停止過程“Sub 計時”的執(zhí)行(即計時結(jié)束)。
其他語句部份比較容易理解,可參考各語句后面的注釋。
制作計時器步驟3:添加按鈕
為了方便執(zhí)行,需要在EXCEL窗口添加兩個按鈕,一個“開始”,另一個是“結(jié)束”。
在EXCEL窗口中按“視圖-工具欄-窗體”,調(diào)出“窗體”工具欄,用鼠標(biāo)選中上面的“按鈕”控件在C列的右邊“畫”出兩個大小適中的按鈕,再用鼠標(biāo)右鍵分別點擊按鈕,選“編輯文字”,第一按鈕輸入“開始”,第二個按鈕輸入“停止”。
接下來還要給按鈕指定要運行的宏(就是在VBA窗口中的代碼)
在“開始”按鈕上點右鍵,選“指定宏”,在彈出的窗口中選“開始”后確定。同樣方法給“停止”按鈕指定“停止”宏。
這樣就完成了整個制作過程,可以使用了。
在C2單元格中輸入一個時間(格式為“時:分:秒”),點擊按鈕“開始”就能看到在C3格中出現(xiàn)一個計時結(jié)束的時間,同時在C4格出現(xiàn)以一秒為間隔不斷遞減的時間數(shù)字,當(dāng)C4單元格顯示為0時彈出提示窗口,計時結(jié)束。