excel单元格 用宏锁定与解锁

目的是在一个工作表的第一列某个单元格输入数据后,这列的其他单元格自动锁定,只有这个单元格可以编辑。当这个单元格的数据被删除后,其他单元格自动解锁。
我试了你的代码,很好用。只是有一个问题:
当我选中A列的单元格,在编辑状态时,如果我点击其他工作表,就会出现错误提示信息。
问题在Range("A:A").Select这一行。
如何让解锁的单元格完全可编呢(可以输入字符和公式,也可以从其他工作表reference)?

工具:office2013
方法如下:
1.
选择要解除锁定的单元格,点击右键,选择“设置单元格格式”:
2.
在保护选项卡中,找到并取消勾选“锁定”:
3.
确定之后,选择的单元格就被解决了锁定,像保护工作表之类的就不会再作用于这些解除锁定的单元格上。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-08
保护工作表后,锁定才起作用。所以应解除第一列的锁定,再保护工作表。
然后Alt+F11,将下面代码粘贴到某个工作表处。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
ActiveSheet.Unprotect
Range("A:A").Select
If Cells(Target.Row, Target.Column) = "" Then
Selection.Locked = False
Else
Selection.Locked = True
Cells(Target.Row, Target.Column).Locked = False
End If
Cells(Target.Row, Target.Column).Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
程序修改的是A列本回答被提问者采纳
相似回答