Excel工作表保护停止macros
我一直在使用一段代码来缩放工作表到活动窗口。 但是,如果我添加表单保护macros将失败。 为了解决这个问题,我打电话给一个子删除保护,然后重新申请保护。 有没有办法来运行我的子没有删除和重新申请表保护?
代码更改缩放:
Sub fixScreenSize() Dim rngX As Range Dim myLastCell As Range Dim myLastCellAdd As String Dim rngToZoom As Range 'Get address of last cell containing data Set myLastCell = Cells(1, 1).SpecialCells(xlLastCell) myLastCellAdd = Cells(myLastCell.Row, myLastCell.Column).Address 'Find keyword in used range Set rngX = Range("A1", myLastCellAdd).Find("myZoomRange", lookat:=xlPart) 'Zoom to correct range Range(Cells(1, 1), rngX).Select ActiveWindow.Zoom = True Range("A1").Select Set myLastCell = Nothing Set rngX = Nothing End Sub
- 删除所有表格保护
- 打开VBE( Alt + F11 )
- 转到立即窗口( Ctrl + G )
- 键入
ActiveSheet.Protect Password:="myPassword", UserInterfaceOnly:=True
并按Enter
活动工作performance在用密码“myPassword”保护,但是UserInterfaceOnly
参数意味着您的代码仍然可以在该表上运行,而不受工作表保护
没有办法做到这一点,我知道没有删除和重新join保护。 一旦保护被设置,没有办法绕过表面保护而不去除保护。
你的方式是正确的方式,不应该影响性能或任何事情。
编辑,因为它原来有一种方法。 不过,我一直这样做没有问题。