Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2006|回复: 4

关于一个计时器的,但部分代码看不懂,求指教

[复制链接]
发表于 2013-12-31 16:43 | 显示全部楼层 |阅读模式
Private Sub CommandButton1_Click()
Dim StartTime, FinishTime, TotalTime, PauseTime  请问为什么要定义四个变量,这个计时器只是简单计时又没有暂停功能的
If Range("a1") = 0 Then
StartTime = Timer  请问这部分是什么意思
PauseTime = 0
LastTime = 0

Else
StartTime = 0
PauseTime = Timer
End If

StartIt: DoEvents  这个“StartIt“是什么来的
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("a1").Value = Format(hh, "00") & ":" & Format(MM, "00") & ":" & Format(SS, "00") & "." & Format(HM, "00")
GoTo StartIt  这个也顺便问问什么原理
End Sub
希望能帮助我一下,谢谢
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-12-31 16:58 | 显示全部楼层
本帖最后由 fffox 于 2013-12-31 17:00 编辑

解释:
Private Sub CommandButton1_Click()
    Dim StartTime, FinishTime, TotalTime, PauseTime  '请问为什么要定义四个变量,这个计时器只是简单计时又没有暂停功能的
                                    '程序中有DoEvents语句,有暂停等待功能,LastTime还没定义
    If Range("a1") = 0 Then
        StartTime = Timer  '请问这部分是什么意思
                        '这个StartTime是记录开始运行的时间
        PauseTime = 0
        LastTime = 0
    Else
        StartTime = 0
        PauseTime = Timer
    End If
StartIt: '这个“StartIt“是什么来的
       '这个StartIt是做的一个标记,跟GoTo语句对应
    DoEvents
    FinishTime = Timer
    TotalTime = FinishTime - StartTime + LastTime - PauseTime    '由于上面定义看不懂这个也看不懂,求指教
                                                '意思应该是总用时=结束时间-开始时间-暂停时间,但LastTime看不懂
    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("a1").Value = Format(hh, "00") & ":" & Format(MM, "00") & ":" & Format(SS, "00") & "." & Format(HM, "00")
    GoTo StartIt  '这个也顺便问问什么原理
                '执行到GoTo语句时,跳转到StartIt标记处继续执行
End Sub
回复

使用道具 举报

 楼主| 发表于 2013-12-31 20:20 | 显示全部楼层
谢谢你的回答,希望能得到更好地回复
回复

使用道具 举报

发表于 2013-12-31 20:56 | 显示全部楼层
NightCricket 发表于 2013-12-31 20:20
谢谢你的回答,希望能得到更好地回复

单步F8一次,看看本地窗口里变量的值,如此反复两次,应该就会明白的。
回复

使用道具 举报

发表于 2013-12-31 23:25 | 显示全部楼层
fffox已经回答的很清晰了,建议按版主的意思测试一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-30 02:52 , Processed in 0.170973 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表