Excel秒表计时器

利用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 SubPrivate Sub CommandButton2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) StopIt = True End SubPrivate Sub CommandButton3_Click() Range("b8").Value = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00") LastTime = 0 ResetIt = True End Sub

excel利用VBA设置或取消打印区域
如果需要用VBA代码在Excel工作表中设置打印区域,可以用下面的方法。一、设置打印区域方法一:用PageSetup.PrintArea属性。代码如下:Sub SetPrintArea() Sheet1.PageSetup.PrintArea = "A1:F15" End Sub上述代码将区域A1:F15设置为打印区域。如果要同时设置多个打印区域,可以将上述代码改为:Sub SetPrintArea() Sheet1.PageSetup.PrintArea = "A1:F15,A20:F45" End Sub上述代码将区域A1:F15及A20:F45设置为打印区域,可以分两页来打印。还可以使用变量来设置一个动态打印区域:Sub SetPrintArea() PrintRow = 100 Sheet1.PageSetup.PrintArea = "A1:G" & PrintRow End Sub