分享

用Excel做个秒表计时器

 正争 2014-06-12

    有时候我们想知道在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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多