excel vba – 只能通过代码启用单元格编辑

我有一个基于他们的login信息从用户收集信息的Excel工具。 信息存储在其中一个工作表的单元格中。 如果我想locking这些单元格以便它们不能手动更新,那我该怎么做? 如果其他人login,显然这些单元格会改变。 我希望通过VBA做到这一点。

我只想locking6个单元格…其他所有内容都应该可以编辑…

谢谢

您可以用这样的密码来保护工作表:

Private Sub Workbook_Open() Sheets("sheetName").Protect Password:="YourPassword", UserInterfaceOnly:=True End Sub 

这将阻止用户在不input密码的情况下手动更改工作表。 您的VBA代码仍然可以进行更改,因为您已将UserInterfaceOnly设置为True

请注意,用户可以通过Visual Basic编辑器导航到代码来轻松查看此密码。 您也可以使用密码保护代码,只需右键单击模块,单击“VBAProject属性”,然后转到“保护”选项卡。

有关详细信息,请参阅此页面: Excel VBA:macros代码在受保护的工作表和表上运行macros 。

如果这些单元格是要保护的工作表上的唯一单元格,那么只需通过将Locked属性更改为false,然后将单元格LockedLocked然后使用UserInterfaceOnly设置为true来保护工作表,即可更改剩余单元格的单元格属性意识到这不适用于所有可能的macros观变化,所以我通常避免它。

还有其他的方法可以工作,但我认为这是最适合您的解决scheme。 如果没有,请添加评论让我知道。