如何使Excel的单元格只能修改一次?

来源:百度知道 编辑:UC知道 时间:2024/05/05 19:44:14
如何使Excel的单元格只能修改一次,一次以后第二次修改就要输入密码才能进行。
cnh011 你好!你的办法好就好不过还有点不合心的地方,
1.只要鼠标一点落已经修改过的地方就会弹个框出来,太麻烦了,能不能只在我再输入的时候才弹框?
2.输错密码或取消后千万不要退出。

只要修正这两点就赏50分给你。

用vba可以实现
依次打开:工具-宏-visual bisic编辑器,打开vba编辑器,在左侧工程中双击你要保护的工作表,然后将下列代码粘贴到编辑窗口中:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell <> "" Then
If InputBox("请输入修改密码:", "密码") = "abc" Then
End
Else
MsgBox "密码错误"
ActiveWorkbook.Close savechanges:=False
End If
End If
End Sub
以后只要单元格中已经存在数据,你选择了该单元格就会要求输入密码,如果输入密码错误就会退出该工作簿,并且不进行保存。所以你要随时保存文件^-^
将上面的abc改成你自己的密码就可以了。
不过这个密码没有进行加密(别人很容易看到你输入的密码),如果你会vba你可以自己新建一个窗口,用文本框输入,将文本框的“passwordchar”属性设置成“*”号,就更好了,然后用if判断改文本框的text属性就可以了。
把上面的代码改成:
Public a, b, c, d
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
a = ActiveCell.Value
b = ActiveCell.Row
c = ActiveCell.Column
d = 1
End Sub
Private Sub Worksheet_change(ByVal Target As Range)
If d = 1 Then
d = d + 1
If a <> "" Then