我有一个excel工具,可以根据用户的登录信息收集用户的信息。信息存储在其中一个工作表的单元格中。如果我想锁定这些单元格以便它们无法手动更新,我该怎么做呢?如果其他人登录,显然这些细胞会改变。我希望通过VBA来做到这一点。
我只想锁定6个单元格...其他一切都应该可以编辑......
由于
答案 0 :(得分:4)
您可以使用以下密码保护工作表:
Private Sub Workbook_Open()
Sheets("sheetName").Protect Password:="YourPassword", UserInterfaceOnly:=True
End Sub
这将阻止用户在不输入密码的情况下手动更改工作表。您的VBA代码仍然可以进行更改,因为您已将UserInterfaceOnly
设置为True
。
请注意,用户可以通过Visual Basic编辑器导航到代码来轻松查看此密码。您也可以使用密码保护代码:只需右键单击模块,单击VBAProject Properties并转到Protection选项卡。
有关详细信息,请参阅此页面:Excel VBA: Macro Code To Run Macros On Protected Worksheets & Sheets。
答案 1 :(得分:0)
如果这些单元格是您要保护的工作表上唯一的单元格,则只需将Locked
属性更改为false,然后将单元格保留为Locked
,即可更改其余单元格的单元格属性然后使用UserInterfaceOnly
设置为true来保护工作表(但是要意识到这对所有可能的宏更改都不起作用,所以我通常会避免它。)
还有其他方法可行,但我认为这是最适合您的解决方案。如果没有,请添加评论以告诉我。