VBA-数据validation错误

我有一个受保护的工作表,但单元格B12:B27未locking。 此代码不适用于locking的工作表。 任何想法?。

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 

谢谢

保护工作表时,您可以select删除行或删除列。 删除单个单元格不是一个选项,因为它可能会影响locking的单元格。

.Delete命令将完全移除单元格,这意味着下面或右边的现有单元格将分别需要向上或向左移动。 如果这是你想要做的,你将需要首先取消保护你的工作表。

 ActiveSheet.Unprotect ' your code ActiveSheet.Protect 

如果您只想清除单元格的内容,则可以使用

 .ClearContents