我想在Excel 2007的单元格A1中显示一个时钟。我熟悉NOW()和TODAY(),但它并不像我想要的那样每1分钟刷新一次。你知道,就像跑步时钟一样。我只想将当前时间以h:mm为单位格A1。这可能吗?如何在Excel中显示运行时钟?
从这个时钟我会做进一步的计算,比如自从我上次做了多长时间以来,活动X,Y和Z.感谢所以。
我想在Excel 2007的单元格A1中显示一个时钟。我熟悉NOW()和TODAY(),但它并不像我想要的那样每1分钟刷新一次。你知道,就像跑步时钟一样。我只想将当前时间以h:mm为单位格A1。这可能吗?如何在Excel中显示运行时钟?
从这个时钟我会做进一步的计算,比如自从我上次做了多长时间以来,活动X,Y和Z.感谢所以。
请参见下面的代码(taken from this post)
将这个代码在一个模块中VBA(开发工具选项卡 - > Visual Basic)中打开工作簿时
Dim TimerActive As Boolean
Sub StartTimer()
Start_Timer
End Sub
Private Sub Start_Timer()
TimerActive = True
Application.OnTime Now() + TimeValue("00:01:00"), "Timer"
End Sub
Private Sub Stop_Timer()
TimerActive = False
End Sub
Private Sub Timer()
If TimerActive Then
ActiveSheet.Cells(1, 1).Value = Time
Application.OnTime Now() + TimeValue("00:01:00"), "Timer"
End If
End Sub
您可以调用 “startTimer所” 功能并通过将下面的代码添加到Visual Basic编辑器中的工作簿Visual Basic“This.Workbook”类中来让它每分钟重复一次。现在
Private Sub Workbook_Open()
Module1.StartTimer
End Sub
,每1分钟时间经过定时器程序将被调用,并设置单元格A1等于当前时间。
找到我在上面评论中提到的code。为了测试它,这样做:
Sheet1
变化的细胞的高度和宽度的说A1
如示于下面的快照。Start Timer
按钮上,然后单击Assign Macros
。选择StartTimer
宏。End Timer
按钮,然后单击Assign Macros
。选择EndTimer
宏。现在点击启动计时器按钮,你会看到在小区A1
时间得到更新。要停止时间更新,请点击结束计时器按钮。
代码(久经考验)
Public Declare Function SetTimer Lib "user32" (_
ByVal HWnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (_
ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long, TimerSeconds As Single, tim As Boolean
Dim Counter As Long
'~~> Start Timer
Sub StartTimer()
'~~ Set the timer for 1 second
TimerSeconds = 1
TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
End Sub
'~~> End Timer
Sub EndTimer()
On Error Resume Next
KillTimer 0&, TimerID
End Sub
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, _
ByVal nIDEvent As Long, ByVal dwTimer As Long)
'~~> Update value in Sheet 1
Sheet1.Range("A1").Value = Time
End Sub
快照
这是内置功能的完美替代方案。我不得不改变'TimerSeconds = 1000'让它像问题一样每分钟刷新一次,但我喜欢!很有意思。 – Sam 2012-08-08 16:56:20
您可以使用Application.OnTime火刷新其在细胞的时间的宏。 – 2012-08-08 14:58:48
也许这样的事情? http://chandoo.org/wp/2012/07/05/masterchef-style-clock-in-excel/ – JimmyPena 2012-08-08 15:02:23
您可以使用GetTickCount API在Excel中显示时钟。我做了一个这样的应用程序。让我搜索你... – 2012-08-08 15:03:24