我想在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