sn. @feraz şu şekilde değiştirince daha güzel oldu value değerinide kontrol ederek geri sayımı tekrar başlatacak
Private Sub Form_Timer()
Static OldcontrolValue As String
Static OldcontrolName As String
Static OldFormName As String
Static ExpiredTime
Dim ActiveControlValue As String
Dim ActiveControlName As String
Dim ActiveFormName As String
Dim ExpiredMinutes
On Error Resume Next
ActiveControlName = Screen.ActiveControl.Name
ActiveControlValue = Me(ActiveControlName).Value
ActiveFormName = Screen.ActiveForm.Name
If (OldcontrolName = "") Or (OldFormName = "") _
Or (ActiveFormName <> OldFormName) _
Or (ActiveControlValue <> OldcontrolValue) _
Or (ActiveControlName <> OldcontrolName) Then
OldcontrolValue = ActiveControlValue
OldcontrolName = ActiveControlName
OldFormName = ActiveFormName
ExpiredTime = 0
Else
ExpiredTime = ExpiredTime + Me.TimerInterval
End If
' ExpiredMinutes = (ExpiredTime / saniye) / sure
ExpiredMinutes = (ExpiredTime / saniye)
Me.txtSay = sure - ExpiredMinutes
If sure - ExpiredMinutes <= 0 Then
ExpiredTime = 0
MsgBox "Süre bitti...", vbInformation, "Süre"
End If
End Sub