2012-11-30 72 views
7

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

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

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

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

附加信息:

  • 使用VBA是确定一个解决方案(虽然它看起来该Worksheet.Protect方法有相同的限制...)
  • 的单元格A1(为此编辑必须被阻止)可以防止格式化或不(无关紧要)。
  • 应该用Excel 2003

回答

2

锁定,只要你没有允许设置单元格格式检查或VBA激活不涉及格式工作。因此,您可以简单地解锁B1,并且无法仅通过允许用户选择启用的锁定和解锁单元格来编辑格式。

Sub protectorate() 

    activesheet.Range("B1").Locked = False 

    With ActiveSheet 
     .Protect 
    End With 


End Sub 

这将阻止除B1值的整个工作表上的格式和值的变化,它仍然可以让你编辑B1的价值。

+2

为什么使用VBA呢? – brettdj

+0

是的!非常简单! :-)但是这也意味着我不能在同一个表格中有不同的**格式**保护:格式表格或根本不可格式化。我希望我永远不会需要它...... @brettdj:是的,它也可以在不使用VBA的情况下设置Cell的Locked属性。 –

+0

@brettdj可以通过菜单完成。我想它的个人习惯是通过vba进行保护。如果您想要编辑某些格式,可以通过菜单 – scott

相关问题