乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > Excel 求助,如何编制一个秒表计时器

Excel 求助,如何编制一个秒表计时器

作者:乔山办公网日期:

返回目录:excel表格制作


插入-模块里录入以下代码(以秒表显示在A1单元格为例):


Sub 秒表()


ActiveSheet.Range("A1").Value = Time


Application.OnTime Time + TimeSerial(0, 0, 1), "秒表", , True


End Sub



保存文件后,执行菜单:工具-宏-宏


在弹出的对话框中,选择“秒表”这个宏


点“执行按钮” 


要显示24小时制的话,设置一下单元格的时间格式就好了





我只是搬运工,只为解决你一切问题


在 Office 里有个方法是 application.ontime ,具体函数如下:
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
如果想进一步了解,请参阅 Excel 的帮助。

这个函数是用来安排一个过程在将来的特定时间运行,(可为某个日期的指定时间,也可为指定的时间段之后)。通过这个函数我们就可以在 Excel 里编写自己的定时程序了。下面就举两个例子来说明它。

1.在下午 17:00:00 的时候显示一个对话框。

Sub Run_it()
Application.OnTime TimeValue("17:00:00"), "Show_my_msg"
'设置定时器在 17:00:00 激活,激活后运行 Show_my_msg 。
End Sub

Sub Show_my_msg()
msg = MsgBox("现在是 17:00:00 !", vbInformation, "自定义信息")
End Sub

2.模仿 Excel 97 里的 "自动保存宏",在这里定时 5 秒出现一次

Sub auto_open()
MsgBox "欢迎你,在这篇文档里,每 5 秒出现一次保存的提示!", vbInformation, "请注意!"
Call runtimer '打开文档时自动运行
End Sub

Sub runtimer()
Application.OnTime Now + TimeValue("00:00:05"), "saveit"
' Now + TimeValue("00:15:00") 指定在当前时间过 5 秒钟开始运行 Saveit 这个过程。
End Sub

Sub SaveIt()
msg = MsgBox("朋友,你已经工作很久了,现在就存盘吗?" & Chr(13) _
& "选择是:立刻存盘" & Chr(13) _
& "选择否:暂不存盘" & Chr(13) _
& "选择取消:不再出现这个提示", vbYesNoCancel + 64, "休息一会吧!")
'提示用户保存当前活动文档。

If msg = vbYes Then ActiveWorkbook.Save Else If msg = vbCancel Then Exit Sub
Call runtimer '如果用户没e79fa5e98193e4b893e5b19e333有选择取消就再次调用 Runtimer
End Sub

以上只是两个简单的例子,有兴趣的话,可以利用 Application.Ontime 这个函数写出更多更有用的定时程序。

操作步骤:
1、在Excel工作e799bee5baa6e79fa5e98193e4b893e5b19e334表里按Alt+F11,打开VBA编程界面
2、在VBA编程界面的工具栏,第二个按钮拉下来选模块
3、在左边栏的你需要计时器的那个工作表名字上双击,打开右边的程序书写区域
4、把下面的程序代码粘贴进去

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Cells.Count = 1 And (Not Intersect(Target.Cells(1), Range("B1")) Is Nothing) Then
[B1] = "开始时间"
[C1] = Format(Now(), "Hh:mm:Ss")
[D1] = Timer
[D1].Font.ColorIndex = 2
[B2:D3].ClearContents
End If
If Target.Cells.Count = 1 And (Not Intersect(Target.Cells(1), Range("B2")) Is Nothing) Then
[B2] = "结束时间"
[C2] = Format(Now(), "Hh:mm:Ss")
[D2] = Timer
[D2].Font.ColorIndex = 2
[B3] = "总共用时"
[C3] = Format([D2] - [D1], "#0.00")
[D3] = "秒"
End If
Target.Offset(1, 0).Select
End Sub

5、关闭VBA编程界面回到工作表
6、双击B1开始计时,双击B2终止计时,用时结果在C3单元格

(特别提醒:要在Exce中通过菜单“工具-宏-安全性”把宏的安全级别设为中或低以允许宏的运行,否则宏不能运行也得不到你要的结果)

相关阅读

  • Excel 求助,如何编制一个秒表计时器

  • 乔山办公网excel表格制作
  • 插入-模块里录入以下代码(以秒表百显示在A1单元格为例):Sub 秒表()ActiveSheet.Range("A1").Value = TimeApplication.OnTime Time + TimeSerial(0, 0, 1), "秒表", , TrueEnd Sub保存文件后,执行菜单:
关键词不能为空
极力推荐

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