Option Explicit
Private Sub Worksheet_Activate()
lockRange ' khoa vung khi thoat khoi sheet
End Sub
Sub lockRange()
Dim lr&
With ActiveSheet
lr = .Cells(Rows.Count, "B").End(xlUp).Row
.Range("B7:N" & lr).Locked = True ' khoa vung
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lr&, i&, ask, ip
lr = Cells(Rows.Count, "B").End(xlUp).Row
Const solan = 5 ' so lan nhap password toi da
If Intersect(Range("B7:N" & lr), Target) Is Nothing Or Target.Count > 1 Then Exit Sub
If Target.Locked = False Then Exit Sub
ask = MsgBox("Chi Duoc Xem va Khong duoc chinh sua. Ban co muon sua khong? ", vbYesNo)
If ask = vbNo Then Exit Sub
Do
On Error Resume Next
ip = CLng(InputBox("Vui long nhap ma:")) ' nhap password da thiet lap tai cot AAA, cung dong
On Error GoTo 0
If ip = Cells(Target.Row, "AAA").Value Then
MsgBox "Chúc mung ban. Ban da co the sua diem roi!"
Exit Do
End If
i = i + 1
If i = 5 Then
MsgBox "Da nhap qua so lan cho phep. Bye bye"
Exit Sub
End If
ask = MsgBox("Ban da nhap sai ma. Ban co muon nhap lai khong? " & vbLf & "So lan nhap password con lai: " & solan - i, vbYesNo)
If ask = vbNo Then Exit Sub
Loop Until i >= 5
Range(Cells(Target.Row, "B"), Cells(Target.Row, "N")).Locked = False ' mo khoa cho dong do
End Sub