Excel Sheet 保护停止宏
Excel Sheet Protection Stopping Macro
我一直在使用一段代码来缩放以适应工作 sheet 到活动 window。但是,如果我添加 sheet 保护宏将失败。为了解决这个问题,我调用了一个 sub 来移除保护,然后重新应用保护。有没有办法 运行 我的潜艇无需删除并重新应用 sheet 保护?
更改缩放的代码:
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
据我所知,如果不删除并重新添加保护,就无法做到这一点。一旦设置了保护,就无法在不移除保护的情况下绕过 sheet 保护。
你的方法是正确的,应该不会影响性能或任何东西。
编辑,事实证明有办法。但是我一直都是这样做的,没有问题。
- 移除所有 sheet 保护
- 打开VBE (Alt + F11)
- 转到立即window (Ctrl + G)
- 键入
ActiveSheet.Protect Password:="myPassword", UserInterfaceOnly:=True
并按 Enter
活动作品sheet 现在受密码 "myPassword" 保护,但是 UserInterfaceOnly
参数意味着您的代码仍然可以 运行 sheet 不受 sheet 的保护影响
我一直在使用一段代码来缩放以适应工作 sheet 到活动 window。但是,如果我添加 sheet 保护宏将失败。为了解决这个问题,我调用了一个 sub 来移除保护,然后重新应用保护。有没有办法 运行 我的潜艇无需删除并重新应用 sheet 保护?
更改缩放的代码:
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
据我所知,如果不删除并重新添加保护,就无法做到这一点。一旦设置了保护,就无法在不移除保护的情况下绕过 sheet 保护。
你的方法是正确的,应该不会影响性能或任何东西。
编辑,事实证明有办法。但是我一直都是这样做的,没有问题。
- 移除所有 sheet 保护
- 打开VBE (Alt + F11)
- 转到立即window (Ctrl + G)
- 键入
ActiveSheet.Protect Password:="myPassword", UserInterfaceOnly:=True
并按 Enter
活动作品sheet 现在受密码 "myPassword" 保护,但是 UserInterfaceOnly
参数意味着您的代码仍然可以 运行 sheet 不受 sheet 的保护影响