因工作需要,我们常常需要对工作表的某一范围设置访问权限,禁止别人改动该单元格区域的内容。这里向大家介绍实现这一目标的3种方法。 一、设置ScrollArea属性 如果要使工作表的A1:E10单元格区域不被改动(下同),可以采取限定垂直滚动条范围的办法,隐藏A1:E10单元格区域,从而达到限定使用范围的目的。具体步骤如下: 1、执行“视图→工具栏→控件工具箱”命令,在打开的“控件工具箱”工具栏中,单击“属性”按钮,显示一所示的“属性”对话框。 2、在“属性”对话框的ScrollArea一栏里输入“A45:E45”(该范围可自己选定),然后按Enter键。 执行上述步骤后,我们发现A1:E10单元格区域不再出现在工作表中窗口中了,而且也无法移动垂直滚动条。由于ScrollArea属性不是永久的,关闭了文件,下次再打开时又可随意选择编辑上述区域。因此还需在ThisWorkbook代码模块中添加下面一段代码。 Private Sub Workbook_Open() Worksheets("sheet1").ScrollArea = "A45:E45" End Sub 这样,每次打开工作簿时,上述代码自动运行,并设定ScrollArea属性。作为保护工作表内容,这种方法是个不错的选择。 二、使用工作表保护 1、激活Sheet1表,选中允许填充数据的单元格区域,右击选择“设置单元格格式”,在“保护”选项卡中取消“锁定”复选项,单击“确定”按钮退出。然后依次单击菜单“工具→保护→保护工作表”,在弹出的对话框列表中,输入保护密码,勾选“选定未锁定的单元格”选项,其他选项全部清除,点击“确定”返回。 2、保护工作表后,再按回车键或按方向键,光标则只能在原来取消锁定的单元格之间来回移动,而被锁定A1:E10单元格区域单元格则不能激活,从而达到了限制访问的目的。 三、利用VBA设置访问权限 我们也可以利用VBA代码,设置权限密码,当编辑Sheet1工作表A1:E10单元格区域时,自动弹出输入密码提示框,密码正确时,该单元格被激活,否则,单元格内容不能被改动。具体方法如下: 执行“工具→宏→Visul Basic编辑器”命令或按下Alt+F11组合键,在代码窗口左侧的“工程资源管理器”窗口中,双击Excel对象下的Sheet1工作表,在右侧的代码窗口中输入以下代码: Private Sub Worksheet_Change(ByVal Target As Range) X = Target End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <= 5 And Target.Row <= 10 Then Y = InputBox("请输入密码:") If Y <> 123 Then MsgBox "密码错误,你无编辑权限!" Range("A11").Select End If End If End Sub |