excel vba 限制工作表的滚动区域代码

ScrollArea属性使用以A1样式的区域引用形式(字符串类型)返回或设置工作表允许滚动的区域。当设置了工作表滚动区域之后,用户不能选定滚动区域之外的单元格,但仍然可以选定区域之外的其他对象(例如图形、按钮等),同时工作表的一些相应功能可能被禁止(例如工作表全选、选中整行或整列等)。
在VBE中的工程管理窗口选择相应工作表对象,然后在其属性窗口中设置ScrollArea属性,即可限制工作表中滚动的区域,如图所示。

但是Excel不会记忆该项设置,当再次打开该工作簿时,ScrollArea属性将被重置,用户必须重新设置ScrollArea属性才能限制工作表中的滚动区域,解决方法是使用代码在工作簿打开时对ScrollArea属性进行设置,如下面的代码所示。
代码:
 
#001 Private Sub Workbook_Open()
#002 Sheet1.ScrollArea = "B4:H12"
#003 End Sub

代码解析:
工作簿的Open事件,在打开该工作簿时设置Sheet1工作表的滚动区域为“B4:H12”单元格区域。
如果需要取消滚动区域的限制,可以将ScrollArea属性值设置为空,如下面的代码所示。
Sheet1.ScrollArea = ""