Excel只能输入不许修改

    昨天出差,用户有个需求:需要他人录入数据,为了防止已经录入的数据被修改(录入数据由多方完成),必须限定只能输入,不能修改(修改时需要密码),最开始的方案是各设置一个密码,但如果他们相互之间联合起来,密码也就无效了。现在有个解决方案:即通过VBA代码来完成限定。

  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. On Error Resume Next
  3. With Target
  4.     If .Value <> "" Then
  5.         PW = InputBox("请输入修改密码:")
  6.         If PW <> "12345" Then
  7.             Cells(1, 1).Select
  8.         Else
  9.             Exit Sub
  10.         End If
  11.     End If
  12.     End With
  13. End Sub

    这段代码可以实现对于已录入的数据不能进行修改,如果非要修改,则需要输入管理员密码。

但问题又来了,如果他们也了解Excel,按Alt+F11,这……

于是要对VBA代码加密,其实Word早就想到了这一点,只不过这样的加密不够强,很容易被破解。参见:破解OfficeVBA密码的方法

posted @ 2015-01-29 15:07  我也是个傻瓜  阅读(1163)  评论(0编辑  收藏  举报