在excel vba中解锁受保护工作表中的列
我正在尝试上面的代码,但不起作用,我只想解锁B列和C列在解锁范围之前,您正在保护工作表。但由于该工作表受到保护,因此无法解锁该范围。交换这两行代码即可:在excel vba中解锁受保护工作表中的列,excel,vba,Excel,Vba,我正在尝试上面的代码,但不起作用,我只想解锁B列和C列在解锁范围之前,您正在保护工作表。但由于该工作表受到保护,因此无法解锁该范围。交换这两行代码即可: Private Sub Worksheet_Activate() ActiveSheet.Protect "RS" ActiveSheet.Range("B:C").Locked = False End Sub 在解锁范围之前,您正在保护板材。但由于该工作表受到保护,因此无法解锁该范围。交换这两行代码即可: Private Sub Works
Private Sub Worksheet_Activate()
ActiveSheet.Protect "RS"
ActiveSheet.Range("B:C").Locked = False
End Sub
在解锁范围之前,您正在保护板材。但由于该工作表受到保护,因此无法解锁该范围。交换这两行代码即可:
Private Sub Worksheet_Activate()
ActiveSheet.Protect "RS"
ActiveSheet.Range("B:C").Locked = False
End Sub
上述代码的作用是什么?“不工作”不是一个很清楚的描述。什么都没锁吗?没有解锁的东西吗?上述代码的效果如何?“不工作”不是一个很清楚的描述。什么都没锁吗?没有解锁任何内容吗?在工作表选择期间发生运行时错误,“启用设置范围类的锁定属性”。第一次运行代码时,它会锁定工作表。您已选择将代码放入工作表激活模块。因此,下一次激活工作表时(请记住,工作表已经受到保护),代码会尝试解锁某些单元格,这将失败,因为工作表受到保护。简而言之:在开始编码之前,您需要理顺代码逻辑。不要只是把代码放进去,然后看看会发生什么。先做个计划。这通常是有帮助的。问题解决了,我正在工作簿激活事件中编写上述代码,工作精细
私有子工作簿_activate()工作表(“ObjectDescriptionMapping”)。范围(“B:C”)。Locked=False'解锁单元格,以便可以在受保护的工作表(“ObjectDescriptionMapping”)中编辑。保护“RS”End Sub
在工作表选择期间发生运行时错误,“启用设置范围类的锁定属性”。第一次运行代码时,它会锁定工作表。您已选择将代码放入工作表激活模块。因此,下一次激活工作表时(请记住,工作表已经受到保护),代码会尝试解锁某些单元格,这将失败,因为工作表受到保护。简而言之:在开始编码之前,您需要理顺代码逻辑。不要只是把代码放进去,然后看看会发生什么。先做个计划。这通常是有帮助的。问题解决了,我正在工作簿激活事件中编写上述代码,工作精细私有子工作簿_activate()工作表(“ObjectDescriptionMapping”)。范围(“B:C”)。Locked=False'解锁单元格,以便可以在受保护的工作表(“ObjectDescriptionMapping”)中编辑。保护“RS”末端接头
Private Sub Workbook_Activate()
Worksheets("ObjectDescriptionMapping").Range("B:C").Locked = False ' unlock the cells, so they can be edited in a protected sheet
Worksheets("ObjectDescriptionMapping").Protect "RS"
End Sub