2016-09-26 69 views
-2
Sub ProtectAll() 

    Sheet4.Protect Password:="xx2016" 

End Sub 

内细胞请帮助提高代码只锁定一个工作表我只是试图锁定一个工作表中的Excel VBA

+2

你怎么需要这种“改良”?它工作与否?你需要它做不同的事情吗?更多的东西?更快?如果没有更多的信息,你的问题是非常不清楚 – psubsee2003

+2

这段代码只会锁定'sheet4',所以它完全符合你的要求。如果你是其他工作表也被锁定,这是除了这个代码以外的其他东西的结果。 –

+0

AAA是否意味着锁定一个单元格或工作表?正如上面的用户提到您发布的内容完全符合您的要求,您能否提供关于该问题和其他任何代码的更多详细信息? 如果有其他工作表被锁定,它可能已经被锁定,或者你有另一个锁定所有的工作表。 – Pav

回答

1

这将是巨大的,如果你能提供有关实际问题的更多信息。我想,你想锁定一个特定的单元格,但如果你锁定了表格,所有单元格都被锁定。如果是这样,这里是解决方案。如果没有,请解释你的问题!

首先,您需要将所有单元格的“锁定”属性更改为false(默认为true)。然后,您将所有必需单元格的“锁定”属性设置为true。然后,您可以锁定工作表。

Sub Makro2() 
    Cells.Select 
    Selection.Locked = False 
    Selection.FormulaHidden = False 
    Range("E6").Select 
    Selection.Locked = True 
    Selection.FormulaHidden = False 
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 
    Range("E4").Select 
End Sub 

编辑1: 感谢帕乌,这里是一个更好的解决方案,避免“选择”,但正在以同样的方式:

Sub Makro2() 
    Cells.Locked = False 
    Cells.FormulaHidden = False 
    Range("E6").Locked = True 
    Range("E6").FormulaHidden = False 
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="xx2016" 
End Sub 
+1

嗨Stefan,我假设是录制的宏,请看看[避免选择](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros )。 – Pav

+0

Hi Pav。这是真的,它只是记录,因为我不知道正确的语法,但我认为,这是问题。但是你是正确的,应该避免选择,因此我会添加更好的解决方案。谢谢! – Stefan