select特定的locking单元格,使其他单元格不可选“

在Excel VBA中,有没有办法select特定的locking单元格,而让其他单元格不可选?

我有一个Excel表,这是保护。 我想让用户能够在一个表格中select特定的locking单元格,同时不允许他们在同一个表格中select其他locking的单元格。 基本上我有一个小的基于单元格的日历,我希望他们能够在这个小范围内select特定的date(locking的单元格),但是他们不需要在表单中select任何其他locking的单元格。 优秀纸张保护似乎只允许一张纸“selectlocking单元格”。 如果有办法通过VBA来实现这一点,我很乐意听到这个消息。 在发布之前,我查看了很多其他的post。

当您保护工作表时,每个单元格中的行为由Locked属性定义。 示例代码:

 ActiveSheet.Unprotect ActiveSheet.Range("A1").Locked = False ActiveSheet.Range("A2").Locked = True ActiveSheet.Protect ActiveSheet.EnableSelection = xlNoRestrictions 'All the cells can be selected 

用这个代码,用户可以编辑cell A1但不是cell A2 。 请记住,默认情况下, Locked属性设置为True

澄清

保护应用于整个工作表。 在单元级别,所有你能做的就是依靠Locked属性。 你不能得到不同的(locking/解锁)范围的行为。