switching window stops running macros
ty barb i will try as soon as possible and tell u how it works !
"Barb Reinhardt" wrote:
I'm guessing it's seeing a different activesheet when you go to a different
window. You're going to have to specify the workbook and sheet you want, I
think.
Try this
Option Explicit
Public nTime As Double
Public Sub StartTimer()
Dim aWB As Workbook
Dim aWS As Worksheet
Set aWB = ThisWorkbook
Set aWS = aWB.Worksheets("Sheet1") 'change sheet name as needed
On Error Resume Next
Application.OnTime nTime, "RunTimer", , False
On Error GoTo 0
aWS.Range("A1").Value = 0
RunTimer
End Sub
Public Sub StopTimer()
Application.OnTime nTime, "RunTimer", , False
End Sub
Public Sub RunTimer()
Dim aWB As Workbook
Dim aWS As Worksheet
Set aWB = ThisWorkbook
Set aWS = aWB.Worksheets("Sheet1") 'change sheet name as needed
With aWS.Range("A1")
.Value = .Value + TimeSerial(0, 0, 1)
.NumberFormat = "hh:mm:ss"
End With
nTime = Now + TimeSerial(0, 0, 1)
Application.OnTime nTime, "RunTimer"
End Sub
--
HTH,
Barb Reinhardt
"N+" wrote:
hi all !
i have a cyclic vbe program that bob gave to me and it works fine..
but i need to open it in more than one windows simoultaneously, and when i
switch to window 2, the timer in the window 1 stops !!
maybe someone can suggest me how to do!
this is the code:
TIMER
Add this to a standard code module
Option Explicit
Public nTime As Double
Public Sub StartTimer()
On Error Resume Next
Application.OnTime nTime, "RunTimer", , False
On Error GoTo 0
ActiveSheet.Range("A1").Value = 0
RunTimer
End Sub
Public Sub StopTimer()
Application.OnTime nTime, "RunTimer", , False
End Sub
Public Sub RunTimer()
With ActiveSheet.Range("A1")
.Value = .Value + TimeSerial(0, 0, 1)
.NumberFormat = "hh:mm:ss"
End With
nTime = Now + TimeSerial(0, 0, 1)
Application.OnTime nTime, "RunTimer"
End Sub
|