删除解锁 rows/columns in userinterfaceonly:=true 模式
Delete unlocked rows/columns in unserinterfaceonly:=true mode
我用以下子程序保护某些单元格:
Sub test()
ThisWorkbook.Worksheets(1).Cells.Locked = False
ThisWorkbook.Worksheets(1).Range("C3:E8").Locked = True
Worksheets(1).Protect userinterfaceonly:=True
End Sub
我的问题是,为什么不能删除 Locked=False 范围内界面中的行?
例如我尝试删除第 22 行,但这是不可能的。我想因为我只是锁定单元格到第 8 行,所以我可以删除其他单元格。
有办法实现吗?
当您对 Sheet 设置保护时,您需要指定您允许的人的权利:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowDeletingColumns:=True, AllowDeletingRows:=True
所以你应该在解锁单元格和锁定范围之前保护整个sheet时添加AllowDeletingRows:=True
我用以下子程序保护某些单元格:
Sub test()
ThisWorkbook.Worksheets(1).Cells.Locked = False
ThisWorkbook.Worksheets(1).Range("C3:E8").Locked = True
Worksheets(1).Protect userinterfaceonly:=True
End Sub
我的问题是,为什么不能删除 Locked=False 范围内界面中的行?
例如我尝试删除第 22 行,但这是不可能的。我想因为我只是锁定单元格到第 8 行,所以我可以删除其他单元格。
有办法实现吗?
当您对 Sheet 设置保护时,您需要指定您允许的人的权利:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowDeletingColumns:=True, AllowDeletingRows:=True
所以你应该在解锁单元格和锁定范围之前保护整个sheet时添加AllowDeletingRows:=True