[英]How to lock Data Validation Cells and unlock on double clicking
我可以鎖定工作表中的所有單元格,並通過雙擊並輸入密碼來解鎖它們以進行編輯。
我唯一的問題是該代碼對於Data Validation單元根本不起作用。 我無法雙擊和編輯數據驗證值。
還有一種方法可以讓我自動使空白單元格不受保護,並在輸入值后得到保護,然后雙擊以請求密碼來解鎖單元格,就像我使用的代碼一樣。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Value <> "" Then
changeInput = MsgBox("Do you want to unlock the sheet?", vbYesNo +
vbQuestion, "Unlock sheet")
If changeInput = vbYes Then
Dim pass As String
pass = InputBox("Enter Password")
If pass <> "password" Then
MsgBox ("Wrong password")
Else
ActiveSheet.Unprotect Password:="password"
Target.Locked = False
End If
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
ActiveSheet.Unprotect Password:="password"
For Each cel In Target
If cel.Value <> "" Then
cel.Locked = True
End If
Next cel
ActiveSheet.Protect Password:="password"
End Sub
該代碼適用於所有其他單元格,但我希望空白單元格是可編輯的,並且此代碼不適用於數據驗證單元格。
對於data-validation單元,請嘗試在worksheet_change事件中:
ActiveSheet.Protect DrawingObjects:=False, Password:="password"
代替
ActiveSheet.Protect Password:="password"
自動保護空白單元格的一種方法是確保所有空白單元格都不會被刮擦鎖定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.