2012-04-11 46 views
0

我有一个基于登录信息从用户收集信息的excel工具。信息存储在其中一个工作表的单元格中。如果我想锁定这些单元格以便它们不能手动更新,那我该怎么做呢?如果其他人登录,显然这些单元格会改变。我希望通过VBA来实现。excel vba - 只通过代码启用单元格编辑

我只是想锁定6个......一切应该为可编辑...

感谢

+1

为什么不只保护工作表? – 2012-04-11 18:34:49

回答

3

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

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

0

如果这些细胞是要保护,那么就改变Locked属性设置为false改变剩余细胞的细胞特性,使单元格中的问题,为Locked然后保护使用UserInterfaceOnly设置的片材在纸张上唯一的为真(但意识到这不适用于所有可能的宏观变化,所以我通常避免它。)

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