百科 > IT百科 > 系统软件 > 办公软件教程 > 正文

怎样限定Excel工作表禁止别人修改

发布时间:2017-04-16 14:58

  因工作需要,我们常常需要对工作表的某一范围设置访问权限,禁止别人改动该单元格区域的内容。这里向大家介绍实现这一目标的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

网友评论