2016-09-26 71 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