'Code module Workbook'-----------------------------------------------
'Lưu Ý Chọn Sheet Sheet1. [A1].Value
Private Sub Workbook_Open()
'Cho Cách 2
Sheets(1).[A1].Value = ""
StartFind_1
End Sub
'Code module Worksheet'-----------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([E:E], Target) Is Nothing And Not IsArray(Target) Then
'Cách 1'
Application.OnTime Now + TimeValue("23:59:59"), "LockCells"
'Dành cho cách 2'
' Sheets(1). [A1].Value = Now + TimeValue("23:59:59")'
End If
End Sub
'Code Module'-----------------------------------------------------------------------
Public timeSec As Date
Sub LockCells()
on error resume next
Sheets(1).Unprotect Password:="123456"
Sheets(1). [E:E].Locked = True
'Lock Worksheet để Lock Cell'
Sheets(1).Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True, Password="123456"
'Nên khóa luôn VBA
'Cho Cách 2
'Sheets(1).[A1].Value = ""
End Sub
'Cách 2' cho Workbook chạy Realtime
'Gọi StartFind_1 khi khởi động , A1 = "" '
Sub StartFind_1()
If Now > [A1].value And [A1].Value <> "" Then LockCells
StartFind_2
End Sub
Sub StartFind_2()
'Thay đổi' thời gian mỗi lần duyệt TimeValue("00:00:01")
timeSec = Now + TimeValue("00:00:01")
Application.OnTime timeSec, "StartFind_1"
End Sub
Sub StopTimer()
On Error Resume Next
Application.OnTime timeSec, Procedure:="StartFind_1", Schedule:=False
End Sub