what about creating a timer in vba?
add following in a module
startthattimer returns a value this is your timerid. ensure u set the function to call in there
killthatimer stops timer with specifid id
Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
'0 return means failure
Public Function StartThatTimer() As Long
StartThatTimer = SetTimer(0, 0, 1000, AddressOf MyTimerProc)
End Function
Public Function StopThatTimer(ByVal lTimerID As Long)
StopThatTimer = KillTimer(0, lTimerID)
End Function
Public Sub MyTimerProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
MsgBox "Koochi Koochi Koo"
End Sub