Giúp code sau 1 khoảng thời gian thì chạy 1 tác vụ gì đó.

Liên hệ QC

hunglam123

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
31/3/20
Bài viết
180
Được thích
43
Chào các anh Chị GPE !. Em muốn làm 1 đoạn code sau 1 khoảng thời gian nếu người dùng không làm gì hết thì chạy 1 code nào đó. Em đang dùng code này thì nó chạy thì đúng lúc đầu, lúc chạy xong nó không tắt vĩnh viễn đi. Mong mọi người giúp đỡ. Em xin chân thành cảm ơn

Code bên dưới: Em muốn sau khi chạy code Ontimer thì 5 giây sau nó sẽ chạy code "Chaycode" và sau khi chạy xong thì tắt hẳn đi không lặp lại.
Và mọi người giúp em viết đoạn code Hủy nếu lỡ đã chạy code Ontimer



Mã:
Sub Ontimer()

Application.OnTime Now + TimeValue("00:00:05"), "Chaycode"

End Sub



Sub Chaycode()

Range("a1") = "GPE"

ActiveWorkbook.Save

' Sau khi chay Code xong Dung VInh vien khong lap lai nua

End Sub
 
Lần chỉnh sửa cuối:
Chào các anh Chị GPE !. Em muốn làm 1 đoạn code sau 1 khoảng thời gian nếu người dùng không làm gì hết thì chạy 1 code nào đó. Em đang dùng code này thì nó chạy thì đúng lúc đầu, lúc chạy xong nó không tắt vĩnh viễn đi. Mong mọi người giúp đỡ. Em xin chân thành cảm ơn
Bạn thử code bên dưới.
Code cho ThisWorkbook
Mã:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If CancelTimer Then StartSchedule
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If CancelTimer Then StartSchedule
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If CancelTimer Then StartSchedule
End Sub
Code cho Module
Mã:
Private Const Sec As Long = 5
Private CurrentTimer As Double
Sub StartSchedule()
CancelTimer
CurrentTimer = Now + Sec / 86400
Application.OnTime CurrentTimer, "Execute"
End Sub
Sub StopSchedule()
CancelTimer
End Sub
Function CancelTimer() As Boolean
If CurrentTimer > 0 Then
    Application.OnTime CurrentTimer, "Execute", , False
    CancelTimer = True
    CurrentTimer = 0
End If
ScheduleNotExist:
End Function
Private Sub Execute()
MainSub
CurrentTimer = 0
End Sub
Private Sub MainSub() 'Your procedure
MsgBox "Hello!"
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom