2014-09-26 66 views
0

我有一個受保護的工作表,但單元格B12:B27沒有鎖定。此代碼不適用於鎖定的工作表。任何想法?。VBA-數據驗證錯誤

If Not Application.Intersect(Target, Range("B12:B37")) Is Nothing Then 
    With Range("B" & ActiveCell.Row).Validation 
     .Delete 
     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
     xlBetween, Formula1:="B,E,R,TG,TU,V" 
    End With 
End If 

感謝

回答

2

在保護您必須允許刪除行或刪除列選項表。刪除單個單元格不是一種選擇,因爲它可能會影響鎖定的單元格。

.Delete命令將完全移除單元格,這意味着下面或右邊的現有單元格將分別需要向上或向左移動。如果這是您想要執行的操作,則需要先取消保護工作表。

ActiveSheet.Unprotect 
' your code 
ActiveSheet.Protect 

如果你只是想清除單元格的內容,你可以使用

.ClearContents