我一直在使用一段代码来缩放以使工作表适合活动窗口。但是,如果我添加表保护,宏将失败。为了解决这个问题,我调用了一个sub来删除保护,然后重新应用保护。有没有办法在不删除和重新应用表单保护的情况下运行我的子程序?
更改缩放的代码:
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
答案 0 :(得分:1)
ActiveSheet.Protect Password:="myPassword", UserInterfaceOnly:=True
,然后按 Enter 现在,活动工作表受到密码" myPassword"的保护,但是UserInterfaceOnly
参数意味着您的代码仍然可以在不受工作表保护影响的工作表上运行
答案 1 :(得分:0)
如果不删除并重新添加保护,我无法做到这一点。一旦设置了保护,就无法在不移除保护的情况下绕过纸张保护。
您的方式是正确的方式,不应影响性能或任何事情。
编辑,因为事实证明有一种方法。但是我总是这样做没有问题。