用EXCEL制作“倒计时器”

2025-10-25 21:25:51
用EXCEL中的OnTime函数可以制作一个倒计时器,只要设定一个时间,EXCEL就会以一秒为单位倒计时,到达设定时间后停止并提示。

步骤/方法

图一是倒计时器的样子,当然你也可以做成其他喜欢的样式。

 

只要在C2单元格中,按“时:分:秒” 格式输入一个时间,按右边的“开始”按钮,就可以开始倒计时,并在C3格显示出计时终止后的时间,在C4格还会动态显示剩余的时间。

用EXCEL制作“倒计时器”

 

下面介绍制作过程

 

第一步:在EXCEL窗口中按上图的样式做一个界面,设置你喜欢的字体大小与颜色边框。由于是用VBA代码制作计时部份,所以表格中不用输入任何公式。

 

第二步:按ALT+F11组合键调出VBA窗口,按“插入-模块”,出现一个空白的模块窗口,把下面代码粘贴进去。

 

Dim n '公用变量,记住下一个任务执行的时间

 

Dim a '开始时间

 

Dim b '结束时间

 

Sub 计时()

 

n = Now + TimeValue("00:00:01") '设定时间间隔为一秒

 

If Now() > b Then MsgBox "倒计时结束": Call 停止: Exit Sub

 

[c4] = Format(b - Now(), "h:mm:ss") '设置单元格格式

 

Application.OnTime n, "计时" '到指定时间后再执行本过程

 

End Sub

 

Sub 开始()

 

[c2] = Format([c2], "h:mm:ss") '设置单元格格式

 

a = [c2] '设定时间

 

b = Now() + a '计算结束时间

 

[c3] = Format(b, "yyyy-m-d h:mm:ss") '设置单元格格式

 

Call 计时

 

End Sub

 

Sub 停止()

 

On Error Resume Next

 

Application.OnTime n, "计时", , False '停止任务的执行

 

End Sub

 

这组代码由四部份组成:

 

第一部份(最上面三行)是声名公共变量,使这几个变量在下面各过程中都可调用。

 

第二部份是“Sub 计时”,也是主代码,它负责不停的计时并显示剩余时间。

 

第三部份“Sub 开始”,相当于初始化部份,设置单元格格式及显示“计时结束时间”,在这个部份会调用“Sub 计时”过程来进行倒计时。

 

第四部份“Sub 停止”,终止倒计时过程。

 

代码中的关键部份是“sub 计时”,它使用onTime函数实现自动计时功能。

 

常用语法:

 

Application.OnTime 时间,要运行的过程名

 

在上例中,“Application.OnTime n, "计时"”的含义是到下一个时间“n”,就执行一次名为“计时”(即 “sub 计时”自身)的代码。

 

时间“n”由语句“ n = Now + TimeValue("00:00:01")”计算得出,表示由当前时间(即“NOW”)加上一个1秒的时间值。

 

在“Sub 停止”过程中,也使用了OnTime函数,但它多了一个参数False ,它的作用是到时间“n”后,停止过程“Sub 计时”的执行(即计时结束)。

 

其他语句部份比较容易理解,可参考各语句后面的注释。

 

第三步:添加按钮

 

为了方便执行,需要在EXCEL窗口添加两个按钮,一个“开始”,另一个是“结束”。

 

在EXCEL窗口中按“视图-工具栏-窗体”,调出“窗体”工具栏,用鼠标选中上面的“按钮”控件在C列的右边“画”出两个大小适中的按钮,再用鼠标右键分别点击按钮,选“编辑文字”,第一按钮输入“开始”,第二个按钮输入“停止”。

用EXCEL制作“倒计时器”

 

接下来还要给按钮指定要运行的宏(就是在VBA窗口中的代码)

 

在“开始”按钮上点右键,选“指定宏”,在弹出的窗口中选“开始”后确定。同样方法给“停止”按钮指定“停止”宏。

用EXCEL制作“倒计时器”

 

这样就完成了整个制作过程,可以使用了。

 

在C2单元格中输入一个时间(格式为“时:分:秒”),点击按钮“开始”就能看到在C3格中出现一个计时结束的时间,同时在C4格出现以一秒为间隔不断递减的时间数字,当C4单元格显示为0时弹出提示窗口,计时结束。

用EXCEL制作“倒计时器”

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢