2014-01-27 57 views
0

我正在開發工作表。當員工自己完成一行或我的經理需要能夠將我們的姓名放在J欄中以鎖定各行以防止進一步編輯時。有沒有辦法做到這一點?Excel註銷並鎖定行

+0

您是否嘗試過解鎖您希望其他人能夠訪問並保護工作表的單元格? – pnuts

回答

0

首先解鎖表格中的每個單元格。然後保護工作表。

下一頁此代碼添加到工作表事件模塊:

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim C As Range 
If Target.Column = 4 Then 'IF Changed cell is in Column D 
    For Each C In Target.Cells 
     If C.Value = "YourName" Or C.Value = "YourManagersName" Then 
      ActiveSheet.Unprotect 

      C.EntireRow.Locked = True 

      ActiveSheet.Protect 
     End If 
    Next C 
End If 

End Sub 

現在,如果在特定的列中輸入的2名之一,那麼它將鎖定該行。

如果你想有一個密碼使用:

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim C As Range 
If Target.Column = 4 Then 'IF Changed cell is in Column D 
    For Each C In Target.Cells 
     If C.Value = "YourName" Or C.Value = "YourManagersName" Then 
      ActiveSheet.Unprotect "Password" 

      C.EntireRow.Locked = True 

      ActiveSheet.Protect "Password" 
     End If 
    Next C 
End If 

End Sub 

注:這也將讓你在一杆鎖定多個行。