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