乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel如何实现多个倒计时器自动倒计时,要有停止按钮

excel如何实现多个倒计时器自动倒计时,要有停止按钮

作者:乔山办公网日期:

返回目录:excel表格制作


在模块中添加,B、C列设置格式为 hh:mm:ss
Sub sTime()
'每隔一秒钟调整本程序自身一次。
'增加D列,标记倒记时是否7a64e4b893e5b19e338完成,
'添加新的倒计时,更改B列数据,删除对应C列、D列数据。
Application.OnTime Now + TimeValue("00:00:01"), "sTime"
For i = 2 To 14
If Cells(i, 3) > 0 Then
Cells(i, 3) = Cells(i, 3) - TimeValue("00:00:01")
If Cells(i, 3) = TimeValue("00:00:10") Then
'10秒倒记时,改变颜色,提示音,加在这儿,不另写了。
End If
Else
If Cells(i, 3) = TimeValue("00:00:00") And Cells(i, 4) = "" And Len(Cells(i, 3)) > 0 Then
Cells(i, 4) = "时间到"
Else
If Cells(i, 3) = 0 And Cells(i, 4) = "" Then Cells(i, 3) = Cells(i, 2)
End If
End If
Next i
End Sub
然后在工作表中添加一个按钮,调用:
Private Sub CommandButton1_Click()
Call sTime
End Sub

1.打开Excel表格;
2.按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

这组代码由四部份组e5a48de588b6e799bee5baa6e79fa5e98193335成:
第一部份(最上面三行)是声名公共变量,使这几个变量在下面各过程中都可调用。
第二部份是“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列的右边“画”出两个大小适中的按钮,再用鼠标右键分别点击按钮,选“编辑文字”,第一按钮输入“开始”,第二个按钮输入“停止”。
3.接下来还要给按钮指定要运行的宏(就是在VBA窗口中的代码)
在“开始”按钮上点右键,选“指定宏”,在弹出的窗口中选“开始”后确定。同样方法给“停止”按钮指定“停止”宏。

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


用excel做一个动态倒计时精确到秒步骤如下:

1、在Excel操作窗口中,按下组合键 Alt+F11 ,弹出VBA窗口,然后,执行如下图的菜单操作:“插入”→“模块”。

2、弹出如下图的代码输入窗口。

3、按照上图的代码,照着输入就行。上述代码输入成功之后,在窗口的左边右键点击“ThisWorkbook”,选择“查看代码”。

4、在弹出的VBA代码窗口中,输入上图所需要的代码。最后,关闭VBA窗口,返回Excel并保存文件,然后关闭Excel,之后再打开该Excel文件,效果就出来了。



要用VBA来实现,函数不行,因为函数赋不了常数值,那开始时间必须是常数值才能倒数计算.

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网