'试试这样看行不行
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("a1").Locked = True Then
If Range("a1") = "" Then
Cells.Select
Selection.Locked = False
End If
End If
Me.Unprotect ("1") '撤销工作表保护,123为密码
If Target <> "" Then
Target.Locked = True
End If
Me.Protect ("1") '保护工作表
ActiveSheet.Unprotect
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target <> "" Then
ActiveSheet.Unprotect
End If
End Sub