View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
N+ N+ is offline
external usenet poster
 
Posts: 34
Default 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