Found the code that I referred to in my comment above. To test it, do this:
- In
Sheet1
change the cell height and width of say A1
as shown in the snapshot below.
- Format the cell by right clicking on it to show time format
- Add two buttons (form controls) on the worksheet and name them as shown in the snapshot
- Paste this code in a module
- Right click on the
Start Timer
button on the sheet and click on Assign Macros
. Select StartTimer
macro.
- Right click on the
End Timer
button on the sheet and click on Assign Macros
. Select EndTimer
macro.
Now click on Start Timer button and you will see the time getting updated in cell A1
. To stop time updates, Click on End Timer button.
Code (TRIED AND TESTED)
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
SNAPSHOT
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…