因此,我有一个电子表格,我想根据用户输入的格式,但单元格需要保持锁定,直到它是由格式确定,他们将是用户输入单元格。我有代码,将寻找用户界面的单元格,但允许VBA编辑它们。
> 'protects all sheets upon opening work book
> Me.Worksheets("Sheet1").Protect "Password", UserInterfaceOnly:=True
> Me.Worksheets("Sheet2").Protect "Password", UserInterfaceOnly:=True
> Me.Worksheets("Sheet3").Protect "Password", UserInterfaceOnly:=True
所以现在我需要允许用户编辑以下单元格
Sheets("Sheets2").Protection.AllowEditRanges.Add "Test", Range("C2", "C8")
Sheets("Sheets2").Protection.AllowEditRanges.Add "Test", Range("H6")
Sheets("Sheets2").Protection.AllowEditRanges.Add "Test", Range("K6")
我已经尝试过在锁定工作表之前和之后允许编辑。我真正想要的是一些VBA代码,在应用格式后解锁单元格,而不是提前定义哪些单元格可以编辑。任何帮助感激不尽:)
1条答案
按热度按时间p5cysglq1#
更改范围的
Locked
属性。这相当于使用“格式单元格|保护|“锁定”复选框可取消对单元格的保护,并使该单元格立即可供编辑。
此外,为了将来的使用,您可能需要考虑在保护步骤中添加一个简单的循环:
这样,人们就不能通过添加新工作表来绕过限制,并且如果工作表被重命名等,保护将继续工作。