使用VBA保护工作表
的有关信息介绍如下:一般保护工作表采取的方法是用 EXCEL 菜单中的"保护"命令,有时这尚嫌不足,比如一些机密文件根本要让某些使用者无法看到,但又需要他来操作工作簿中的其他表,怎么办?
在开发工具选项卡中单击visual basic,进入VBA编辑界面
双击其中一个worksheet,进入该表属性编辑窗口,窗口中上方,第一个下拉菜单选择worksheet,第二个选择active
Private Sub Worksheet_Activate() End Sub是我们需要标记的内容,这里我们要求用户输入密码才能编辑该worksheet。
我们用:Application.InputBox("请输入操作权限密码:"),要求用户输入密码,如果密码不等于“123”,则提示密码错误,如果密码通过,则进入该worksheet进行编辑。
如果输入错误密码,worksheet就会转移到别的地方,这里激活worksheet4.
使用这两句记性错误代码的控制:
MsgBox "密码错误,即将退出!"
Sheets("sheet4").Select
VBA完整代码如图所示:
但是即使这样,在输入密码的时候,用户仍然可以看到机密文档的内容,我们可以对机密的文档设置deactive事件,并将机密文档的内容颜色设置成白色,这样就可以隐藏我们的数据。
隐藏机密数据的方法:
完整的代码:
Private Sub Worksheet_Activate()
If Application.InputBox("请输入操作权限密码:") = 123 Then
Range("A1").Select
Sheets("机密文档").Cells.Font.ColorIndex = 56
Else
MsgBox "密码错误,即将退出!"
Sheets("普通文档").Select
End If
End Sub
Private Sub Worksheet_Deactivate()
Sheets("机密文档").Cells.Font.ColorIndex = 2
End Sub
如果要以本代码为例做实验,必须要有两个sheet,如图所示: