在日常办公环境下,我们经常会使用到excel软件,但是有的时候我们需要限定用户只能在指定的区域输入数据,从而不能影响其它单元格的数据内容。在办公软件Excel 2003中要将用户操作限制在工作表的某个区域中,推荐使用下面修改VBA后台的方法实现。
第一步: 选择工作表,点击工具——宏——visual basic编辑器,或者按Alt+F11,打开VBA编辑器。如下图所示:
如果属性窗口未显示,按F4键显示属性窗口。
第二步: 在ScrollArea属性右侧输入允许用户操作的区域引用,如$D:$D。
关闭VBA编辑器,返回Excel界面,可以看到$D:$D以外的区域都变为不可选状态,同时滚动条也不能滚动到其他区域,这样就将用户的操作限制在指定的区域D列之中。要取消限制,只需要将ScrollArea的值设为空即可。
需要注意的是,此处设置的ScrollArea属性无法保存,即重新打开工作簿后该属性的值自动变为空。要让该属性总是起作用,可在Workbook_Open()事件中设置,方法如下:
在VBA编辑器中双击“ThisWorkbook”,在代码窗口中粘贴下列代码,假设要设置的工作表为“Sheet3”:
Private Sub Workbook_Open()
Sheets("Sheet3").ScrollArea = "$D:$D"
End Sub
然后ctrl+s保存操作,这样,每次打开工作簿后将指定工作表的可操作区域限制在D列区域