0

我有一个 excel 工具,可以根据用户的登录信息从用户那里收集信息。信息存储在其中一个工作表的单元格中。如果我想锁定这些单元格以使它们无法手动更新,我该怎么做呢?如果其他人登录,显然这些单元格会改变。我希望通过VBA来做到这一点。

我只想锁定 6 个单元格...其他所有内容都应该是可编辑的...

谢谢

4

2 回答 2

4

您可以使用如下密码保护工作表:

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

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

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

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

于 2012-04-11T18:35:22.547 回答
0

如果这些单元格是您要保护的工作表上唯一的单元格,则只需通过将Locked属性更改为 false 来更改剩余单元格的单元格属性,并将有问题的单元格保留为Locked然后使用UserInterfaceOnlyset 为 true 来保护工作表(但要意识到这不适用于所有可能的宏更改,所以我通常会避免它。)

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

于 2014-09-22T12:25:02.633 回答