在同一个工作表中不同的单元格保护

在Excel工作表中,我希望保护一个单元格(A1)不受格式化的影响,而另一个单元格(B1)。 这意味着用户:

  • 不能编辑A1的值
  • 可以编辑B1的值
  • 不能更改B1的格式

“保护表”选项允许保护整张表格的所有locking单元格,所以A1和B1在locking时将具有相同的保护级别(不论是格式化还是编辑)。

是否有办法为特定的单元格或范围设置单独的保护,或至less获得相同的行为?

附加信息:

  • 使用VBA的解决scheme是可以的(虽然看起来Worksheet.Protect方法有相同的限制…)
  • 单元格A1(必须防止编辑)可以被保护,不受格式限制(没关系)。
  • 它应该与Excel 2003一起工作。

只要您没有在vba中检查或激活允许的格式单元格,locking不会解决格式化问题。 因此,您可以简单地解锁B1,您将无法编辑该格式,仅允许用户select启用locking和解锁的单元格。

Sub protectorate() activesheet.Range("B1").Locked = False With ActiveSheet .Protect End With End Sub 

这样可以防止除了B1的值之外的整个表格上的格式和值的变化,它仍然可以让你编辑B1的值。