Excel 如何";“保护”;工作表,并保持某些列未锁定?

Excel 如何";“保护”;工作表,并保持某些列未锁定?,excel,vba,Excel,Vba,我创建了一个按钮和代码来锁定(或保护)工作簿中的工作表。我还创建了一个按钮和代码来解锁(或取消保护)工作簿中的工作表 我有一些列,我希望用户能够输入信息;但我不希望整个工作表解锁/不受保护 我的培训表上的示例,单元格K6:U3175,我希望不受保护。以下是我尝试过的: ”这是WOOKBOOK提示页上的锁定按钮。 '单击锁定按钮一次,下面的脚本将重新保护所有工作表。 Active工作簿。保护密码:=“密码” 表(“1-培训”)。保护“密码” ActiveSheet.Range(“1-训练”).Ra

我创建了一个按钮和代码来锁定(或保护)工作簿中的工作表。我还创建了一个按钮和代码来解锁(或取消保护)工作簿中的工作表

我有一些列,我希望用户能够输入信息;但我不希望整个工作表解锁/不受保护

我的培训表上的示例,单元格K6:U3175,我希望不受保护。以下是我尝试过的:

”这是WOOKBOOK提示页上的锁定按钮。
'单击锁定按钮一次,下面的脚本将重新保护所有工作表。
Active工作簿。保护密码:=“密码”
表(“1-培训”)。保护“密码”
ActiveSheet.Range(“1-训练”).Range(“K6:U3175”).Locked=False

我得到了解锁范围的代码中的错误。我如何才能取消对该范围单元格的保护?

按以下顺序:

  • 取消对工作表的保护
  • 更改任何单元格或单元格组上的锁定/解锁设置
  • 重新保护工作表

  • 按以下顺序:

  • 取消对工作表的保护
  • 更改任何单元格或单元格组上的锁定/解锁设置
  • 重新保护工作表

  • 您需要按照Gary的答案提供的事件顺序进行操作。在代码中,这看起来像

    With ThisWorkbook.Worksheet(1)
        .Unprotect "1234" 'insert your pasword here (1)
        .Range("A:B").Cells.Locked = False '(2)
        .Protect "1234" 'insert your pasword here (3)
    End With
    

    您需要按照Gary的答案提供的事件顺序进行操作。在代码中,这看起来像

    With ThisWorkbook.Worksheet(1)
        .Unprotect "1234" 'insert your pasword here (1)
        .Range("A:B").Cells.Locked = False '(2)
        .Protect "1234" 'insert your pasword here (3)
    End With
    
    在保护板材之前,需要解锁范围。无法解锁锁定工作表上的单元格。在保护工作表之前,需要解锁区域。无法解锁锁定工作表上的单元格。