系统自带的now 或者Timer函数都只能获取到秒,一个相关的API,使用Windows API的winmmdll其中的timeGetTime 可以获得毫秒数,这个值是从开机到现在的毫秒数。
Private Declare Function timeGetTime Lib "winmmdll" () As Long
Private Sub btnTest_Click()
Dim StartMS As Long
Dim EndMS As Long
Dim MS As Long
StartMS = timeGetTime() '开始毫秒数
While timeGetTime < StartMS + 200 '循环等待
DoEvents '转让控制权,以便让 *** 作系统处理其它的事件
Wend
EndMS = timeGetTime() '结束毫秒
MS = EndMS - StartMS '取两者相差的毫秒数
MsgBox "毫秒数:" & MS
End Sub
While timeGetTime < StartMS + 200 '循环等待
DoEvents '转让控制权,以便让 *** 作系统处理其它的事件
Wend
上面三句代码网友可以更换成自己实际计算过程的代码。
楼主的需求请再明确下
去时间的小时,是将时长换算成小时,还是将某个时间的"小时”提取出来
计算小时差,两个时间相减结果是天数24就是小时,再60就是分钟
取小时是hour,分钟minute
Private Sub Worksheet_Change(ByVal Target As Range)
If TargetColumn = 1 Then
If Target = "" Then TargetOffset(0, 1) = "" Else TargetOffset(0, 1) = Now
End If
End Sub
以上就是关于VBA中 怎么获得时间的毫秒数 用time只能得到秒,毫秒怎么算出来啊全部的内容,包括:VBA中 怎么获得时间的毫秒数 用time只能得到秒,毫秒怎么算出来啊、Excel 怎么用vba取时间的小时和时间、EXCEL如何用VBA获取日期并且保持不变等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)