2012-04-11 50 views
0

我有一個基於登錄信息從用戶收集信息的excel工具。信息存儲在其中一個工作表的單元格中。如果我想鎖定這些單元格以便它們不能手動更新,那我該怎麼做呢?如果其他人登錄,顯然這些單元格會改變。我希望通過VBA來實現。excel vba - 只通過代碼啓用單元格編輯

我只是想鎖定6個......一切應該爲可編輯...

感謝

+1

爲什麼不只保護工作表? – 2012-04-11 18:34:49

回答

3

你可以用這樣的密碼保護工作表:

Private Sub Workbook_Open() 
    Sheets("sheetName").Protect Password:="YourPassword", UserInterfaceOnly:=True 
End Sub 

那將阻止用戶在不輸入密碼的情況下手動更改工作表。您的VBA代碼仍然可以進行更改,因爲您已將UserInterfaceOnly設置爲True

請注意,用戶可以通過Visual Basic編輯器導航到代碼輕鬆查看此密碼。但是,您也可以使用密碼保護代碼:只需右鍵單擊模塊,單擊VBAProject Properties並轉到Protection選項卡。

查看此頁面以瞭解更多信息:Excel VBA: Macro Code To Run Macros On Protected Worksheets & Sheets

0

如果這些細胞是要保護,那麼就改變Locked屬性設置爲false改變剩餘細胞的細胞特性,使單元格中的問題,爲Locked然後保護使用UserInterfaceOnly設置的片材在紙張上唯一的爲真(但意識到這不適用於所有可能的宏觀變化,所以我通常避免它。)

還有其他方法可以工作,但我認爲這是最適合您的解決方案。如果沒有,請添加評論讓我知道。