我有一個基於登錄信息從用戶收集信息的excel工具。信息存儲在其中一個工作表的單元格中。如果我想鎖定這些單元格以便它們不能手動更新,那我該怎麼做呢?如果其他人登錄,顯然這些單元格會改變。我希望通過VBA來實現。excel vba - 只通過代碼啓用單元格編輯
我只是想鎖定6個......一切應該爲可編輯...
感謝
我有一個基於登錄信息從用戶收集信息的excel工具。信息存儲在其中一個工作表的單元格中。如果我想鎖定這些單元格以便它們不能手動更新,那我該怎麼做呢?如果其他人登錄,顯然這些單元格會改變。我希望通過VBA來實現。excel vba - 只通過代碼啓用單元格編輯
我只是想鎖定6個......一切應該爲可編輯...
感謝
你可以用這樣的密碼保護工作表:
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。
如果這些細胞是要保護,那麼就改變Locked
屬性設置爲false改變剩餘細胞的細胞特性,使單元格中的問題,爲Locked
然後保護使用UserInterfaceOnly
設置的片材在紙張上唯一的爲真(但意識到這不適用於所有可能的宏觀變化,所以我通常避免它。)
還有其他方法可以工作,但我認爲這是最適合您的解決方案。如果沒有,請添加評論讓我知道。
爲什麼不只保護工作表? – 2012-04-11 18:34:49