[英]Excel VBA protect returning error
我在這里和其他地方看到過很多關於在ThisWorkbook
對象中使用以下代碼以保護您的工作簿但仍允許運行宏的文章:
Private Sub Workbook_Open()
ActiveWorkbook.Protect UserInterfaceOnly:=True
End Sub
但是,彈出的保護功能工具提示僅提供三個參數Protect([password],[structure],[windows])。 因此,當我打開文檔時,出現以下錯誤
“編譯錯誤:找不到命名參數”
關於UserInterfaceOnly:=True
。
我使用了錯誤的保護功能,還是我缺少其他功能? 我想允許用戶使用表格/宏將數據輸入到工作簿中,但是我不希望他們能夠手動更改任何單元格。
我正在運行的保護功能似乎與我發現的許多其他保護解決方案具有不同的參數。 這可能是版本問題還是其他問題?
蒂姆·威廉姆斯 ( Tim Williams)提供的建議奏效了。 保護在工作簿級別的工作方式不同,因此我需要為要保護的每個工作表編寫單獨的代碼。 我使用以下代碼保護工作表,但允許填寫表格:
Private Sub Workbook_Open()
Worksheets("Sheet1").Protect UserInterfaceOnly:=True
Worksheets("Sheet2").Protect UserInterfaceOnly:=True
Worksheets("Sheet3").Protect UserInterfaceOnly:=True
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.