打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用Excel做个秒表计时器

    有时候我们想知道在Excel中做一件事情需要多长时间,可以用VBA在Excel中做一个秒表计时器,在做之前启动秒表,做完后停止秒表看用了多长时间,如图。这个秒表在单元格中显示时间,可以实现秒表的基本功能:单击“开始”按钮开始计时,单击“停止”按钮暂停与停止,再次单击“开始”按钮继续,单击“复位”按钮归零。

   

    下面我们以Excel 2003为例来说明其制作过程,示例文件在文章结尾处提供下载。

    1.在“Sheet1”工作表中打开“Visual Basic 工具栏”。方法是在菜单栏中右击鼠标,在弹出的快捷菜单中选择“Visual Basic ”。   单击“控件工具箱”按钮,打开“控件工具箱”。

   

 
 

    选择“命令按钮”工具,在工作表中画3个按钮,其默认名称依次为“CommandButton1”、“CommandButton2”、“CommandButton3”。

    2.按Alt+F11,打开VBA编辑器,在“工程”窗口中双击“Sheet1(Sheet1)”,在右侧的代码窗口中粘贴下面的代码:

Public StopIt As Boolean
Public ResetIt As Boolean
Public LastTime
Private Sub CommandButton1_Click()
Dim StartTime, FinishTime, TotalTime, PauseTime
StopIt = False
ResetIt = False
If Range("b8") = 0 Then
  StartTime = Timer
  PauseTime = 0
  LastTime = 0
Else
  StartTime = 0
  PauseTime = Timer
End If
           
StartIt:
  DoEvents
  If StopIt = True Then
    LastTime = TotalTime
    Exit Sub
  Else
    FinishTime = Timer
    TotalTime = FinishTime - StartTime + LastTime - PauseTime
    TTime = TotalTime * 100
    HM = TTime Mod 100
    TTime = TTime \ 100
    hh = TTime \ 3600
    TTime = TTime Mod 3600
    MM = TTime \ 60
    SS = TTime Mod 60
    Range("b8").Value = Format(hh, "00") & ":" & Format(MM, "00") & ":" & Format(SS, "00") & "." & Format(HM, "00")
    If ResetIt = True Then
      Range("b8") = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00")
      LastTime = 0
      PauseTime = 0
      End
    End If
    GoTo StartIt
  End If
End Sub

Private Sub CommandButton2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  StopIt = True
End Sub

Private Sub CommandButton3_Click()
  Range("b8").Value = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00")
  LastTime = 0
  ResetIt = True
End Sub

    说明:上述代码将在B8单元格中显示秒表时间,也可以将其改为其他单元格。代码中使用了Timer函数,Timer函数返回一个Single,代表从午夜开始到现在经过的秒数。本例中未消除跨零点错误,因而请勿跨零点使用。

    3.关闭VBA编辑器。在工作表中右击“CommandButton1”按钮,在弹出的菜单中选择“属性”,弹出“属性”窗口。

   

   在“属性窗口”中,将“CommandButton1”按钮的“Caption”属性改名为“开始”。

   

    然后分别将“CommandButton2”、“CommandButton2”按钮的“Caption”属性改为“停止”和“复位”。

    在“Visual Basic”工具栏中单击“退出设计模式”按钮退出设计模式。

   

    4.设置B8单元格的单元格格式为“文本”,调整单元格大小、字体和背景,并调整3个按钮到适当的位置。然后依次单击各个按钮进行测试。

    示例文件下载:Excel秒表.xls

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA提取带格式数值
教你如何通过Excel VBA编写测量坐标计算程序
让你的Excel 2007读出单元格的内容来
Excel中精确设置列宽
Excel中制作可自动运行的动态图表,让你的演示与众不同!
WPS excel VBA 常用功能代码(大全)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服